0

我正在尝试通过 C# 使用 Web 服务。在 Web 服务文档中,它声明 Web 服务仅接受作为单个数据包/流而不是多个数据包的请求。

有谁知道通过 Visual Studio 中的 Web 引用访问 Web 服务时如何更改此设置?

我在发送请求时收到 SOAPException“无法解析传入请求”错误,我认为这就是原因。

谢谢你的帮助!

-史蒂夫

4

1 回答 1

0

这不会是微不足道的,但也不会太难(假设您已经正确识别了问题)。请参阅自定义 ASMX 客户端代理的方法。在“重型定制”部分,您将看到如何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设置或清除了标志。

于 2009-08-11T00:13:15.953 回答