我正在尝试通过C#使用Web服务。 在Web服务文档中,它声明Web服务仅接受作为单个数据包/流而不是多个数据包的请求。
在Visual Studio中通过Web引用访问Web服务时,是否有人知道如何更改此设置?
当我发送请求时,我收到SOAPException“无法解析传入请求”错误,我认为这就是原因。
感谢您的帮助!
-Steve
答案 0 :(得分:0)
这不会是微不足道的,但也不会太困难(假设您已正确识别问题)。见Ways to Customize your ASMX Client Proxy。在“重型自定义”部分中,您将了解如何使用部分类覆盖代理类的GetWebRequest
方法。假设您的Web引用名称是“Service1Proxy”:
public partial class Service1Proxy
{
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest request = (HttpWebRequest) base.GetWebRequest(uri);
request.SendChunked = false;
return request;
}
}
我建议您尝试这样做,但我也建议您在调用基本GetWebRequest
方法后设置断点。检查原始请求是否设置或清除SendChunked
标志。