我正在测试使用BizTalk与biz unit发布的其中一个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
?
答案 0 :(得分:0)
默认情况下,框架似乎没有公开该属性,但您可以非常轻松地添加它。将WebServiceStep.cs中的代码复制到项目中,找到以下块:
var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.UseDefaultWebProxy = true;
如果您希望最大尺寸为10MB,则需要添加以下内容:
binding.MaxReceivedMessageSize = 10000000;
您可以向该类添加一个属性,以便在需要时对其进行配置 - 稍微复杂一些(但不是非常困难)。
不要忘记重命名该类并将命名空间更改为您的项目,以便您可以从自己的测试中访问它....