如何通过 Web 服务代理将请求作为单个数据包(不要块)发送
我正在尝试通过 C# 使用 Web 服务。 在 Web 服务文档中,它指出 Web 服务仅接受单个数据包/流的请求,而不接受多个数据包。
有谁知道在 Visual Studio 中通过 Web 引用访问 Web 服务时如何更改此设置?
当我发送请求时,我收到 SOAPException“无法解析传入请求”错误,我认为这就是原因。
感谢您的帮助!
-史蒂夫
I'm trying to utilize a web service through C#.
In the web service documentation it states that the web service only accepts requests as a single packet/stream and not multiple packets.
Does anyone know how to change this setting when accessing the web service through a web reference in Visual Studio?
I am getting a SOAPException "Unable to parse the incoming request" error when I send a request and I assume this is why.
Thanks for your help!
-Steve
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这不会是微不足道的,但也不会太困难(假设您已经正确识别了问题)。 请参阅自定义 ASMX 客户端代理的方法。 在“重载自定义”部分中,您将了解如何使用分部类重写代理类的
GetWebRequest
方法。 假设您的 Web 引用名称是“Service1Proxy”:我建议您尝试此操作,但我也建议您在调用基本
GetWebRequest
方法后设置一个断点。 检查原始请求是否设置或清除了SendChunked
标志。This won't be trivial, but it won't be too difficult, either (assuming you've correctly identified the problem). See Ways to Customize your ASMX Client Proxy. In the "Heavy Duty Customization" section, you'll see how to override the
GetWebRequest
method of your proxy class by using a partial class. Assuming that your web reference name is "Service1Proxy":I recommend you try this, but I also recommend you set a breakpoint after the call to the base
GetWebRequest
method. Check to see if the original request had theSendChunked
flag set or cleared.