C# SOAP响应大小

C# SOAP响应大小,c#,xml,perl,soap,soaplite,C#,Xml,Perl,Soap,Soaplite,我试图使用一个使用Soap::Lite(Perl)创建的web服务。我正在使用C#使用服务。在大多数情况下,它运行良好。我可以抓取响应并在我认为合适的时候解析它们。但是,我有一些电话不起作用 我得到以下信息: “远程主机已强制关闭现有连接” 据我所知,服务器可能正在切断与服务器的连接 不管什么原因。我正试图找到那个原因。我想这是因为 某些响应的详细信息的大小。我有一个特别的 总是失败,当我从SOAP响应中查看XML时,它总是失败的 在完全相同的位置截断,就像它到达该位置并达到某个大小一样 限制

我试图使用一个使用Soap::Lite(Perl)创建的web服务。我正在使用C#使用服务。在大多数情况下,它运行良好。我可以抓取响应并在我认为合适的时候解析它们。但是,我有一些电话不起作用

我得到以下信息: “远程主机已强制关闭现有连接”

据我所知,服务器可能正在切断与服务器的连接 不管什么原因。我正试图找到那个原因。我想这是因为 某些响应的详细信息的大小。我有一个特别的 总是失败,当我从SOAP响应中查看XML时,它总是失败的 在完全相同的位置截断,就像它到达该位置并达到某个大小一样 限制

所以,我已经做了所有我能想到的关于客户规模的事情,比如改变 MaxReceivedMessageSize和超时设置等。我注意到我可以 增加超时,执行时间随之增加,但我正在进行的诊断日志记录总是在同一点停止

我还编写了一个类,它允许我查看原始XML,并且再次在同一位置停止

我在想也许服务器上有些东西需要更改,但我尝试过的一切都不起作用。该服务托管在运行IIS 6的web服务器上

有人对我在客户端和/或服务器端可以做什么有什么建议吗

谢谢

编辑


我应该注意到没有WSDL文件供我使用。我正在使用的应用程序是我唯一一次使用SOAP::Lite,从我可以看出它没有生成WSDL

@e36M3-感谢您的建议。我从未听说过soapUI。我安装并试用了它,我可以看到它的许多用途,所以我会在将来记住它。不幸的是,它似乎是围绕WSDL测试构建的,我看不出如何在不提供WSDL的情况下使用它进行测试,这在这种特定情况下是一个问题


下面是我的跟踪日志中的一些相关数据。它从无效xml结束的位置开始,以错误信息结束

System.Net详细信息:0:[5772]000031E0/地图>。。 System.Net详细信息:0:[5772]000031E0 esp1:MRWebService
System.Net详细信息:0:[5772]000031E0 es_uuGetIssueData
System.Net详细信息:0:[5772]000031E0 ilsResponse> System.Net详细信息:0:[5772]000031E0 AP-ENV:Body> System.Net详细信息:0:[5772]000031E0 AP-ENV:信封>
System.Net详细信息:0:[5772]正在退出ConnectStream#15566556::Read()->12880#12880
System.Net详细信息:0:[5772]ConnectStream#15566556::Read()
System.Net.Sockets详细:0:[5772]Socket#20784002::Receive()
System.Net.Sockets错误:0:[5772]套接字#20784002::Receive中出现异常-连接尝试失败,因为连接方在发生错误后没有正确响应 一段时间,或由于连接的主机无法连接而建立的连接失败 回复
System.Net.Sockets详细:0:[5772]正在退出套接字#20784002::Receive()->0#0
System.Net.Sockets详细:0:[5772]套接字#20784002::Dispose()
System.Net错误:0:[5772]HttpWebRequest中出现异常#63722612::-基础连接已关闭:接收时发生意外错误。 System.Net详细信息:0:[5772]ConnectStream#15566556::Close()

System.Net详细信息:0:[5772]在app.exe.config中的web服务绑定中退出ConnectStream#15566556::Close()

,应设置最大接收消息大小。默认值为maxReceivedMessageSize=“65536”。增加该值应允许客户端应用程序接收所有数据。

确保这些特定调用不会在服务器端崩溃。您是否尝试过从soapUI或类似工具执行调用?这将帮助您排除.NET是它失败的原因。我已经尝试过这种方法。我在web.config中创建了一个绑定,并添加了一个使用该绑定的端点。但是,我知道如何将它们与我的服务消费者关联的唯一方法是通过ServiceContract。但据我所知,这是针对WCF服务的,所以我不确定绑定是否真的被命中。正如我所说,当我增加端点超时时,执行时间随之增加