0

我正在测试使用 BizTalk 和 biz 单元发布的 wcf 服务之一,并使用以下代码,

 WebServiceStep wsStep = new WebServiceStep();
 wsStep.ServiceUrl = //service url;
 wsStep.FailOnError = true;
 wsStep.Action = //service method name;

 wsStep.RequestBody = new FileDataLoader() { FilePath = "request.xml"); 
 testCase.ExecutionSteps.Add(wsStep);

给定的方法通常会返回大量超过传入消息的最大消息大小配额(65536)的数据,问题是如何MaxReceivedMessageSize在上面的测试代码中设置?

4

1 回答 1

0

默认情况下,该框架似乎没有公开该属性,但您可以很容易地添加它。将 WebServiceStep.cs 中的代码复制到您的项目中,并找到以下代码块:

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.UseDefaultWebProxy = true;      

如果您希望最大大小为 10MB,则需要添加如下内容:

binding.MaxReceivedMessageSize = 10000000;

如果需要,您可以向类添加一个属性以使其可配置 - 这会稍微复杂一些(但不是非常困难)。

不要忘记重命名该类并将命名空间更改为您的项目,以便您可以从自己的测试中访问它......

于 2015-02-04T16:39:39.697 回答