gpt4 book ai didi

c# - SOAP 响应大小

转载 作者:数据小太阳 更新时间:2023-10-29 02:42:27 26 4
gpt4 key购买 nike

我正在尝试使用使用 Soap::Lite (Perl) 创建的 Web 服务。我正在使用 C# 使用该服务。在大多数情况下,它工作正常。我可以抓取响应并按照我认为合适的方式解析它们。但是,我有一些电话打不通。

我收到以下消息:“现有连接被远程主机强行关闭”

据我了解,服务器可能正在切断连接不管什么原因。我正在努力寻找这个原因。我认为这是由于某些响应的详细信息的大小。我有一个特别的会总是失败,当我从 SOAP 响应中查看 XML 时,它总是在完全相同的位置被截断,就好像它到达那个位置并且达到了一个大小限制。

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

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

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

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

谢谢

编辑


我应该注意到没有可供我使用的 WSDL 文件。我正在使用的应用程序是我唯一一次使用 SOAP::Lite,据我所知,它不会生成 WSDL。

@e36M3 - 感谢您的建议。我从未听说过 soapUI。我安装并试用了它,发现它有很多用途,因此我会在未来牢记它。不幸的是,它似乎是围绕 WSDL 测试构建的,我看不出如何在不提供 WSDL 的情况下使用它进行测试,鉴于这种特殊情况,这是一个问题。


这是我的跟踪记录中的一些相关数据。它以无效 xml 结束的位置开始,以错误信息结束。

System.Net Verbose: 0 : [5772] 000031E0 ;/map>.System.Net 详细:0:[5772] 000031E0 >。System.Net 详细:0:[5772] 000031E0 esp1:MRWebServic
System.Net 详细:0:[5772] 000031E0 es__getIssueDeta
System.Net 详细:0:[5772] 000031E0 ilsResponse>System.Net 详细:0:[5772] 000031E0 AP-ENV:正文>System.Net 详细:0:[5772] 000031E0 AP-ENV:信封>
System.Net 详细:0:[5772] 退出 ConnectStream#15566556::Read() -> 12880#12880< br/>System.Net 详细:0:[5772] ConnectStream#15566556::Read()
System.Net.Sockets 详细:0:[5772] Socket#20784002::Receive()
System.Net.Sockets 错误:0:[5772] Socket#20784002::Receive 中的异常 - 连接尝试失败,因为连接方在一段时间,或建立的连接失败,因为连接的主机未能回应
System.Net.Sockets 详细:0:[5772] 退出套接字#20784002::Receive() -> 0#0
System.Net.Sockets 详细:0:[5772] Socket#20784002::Dispose()
System.Net 错误:0:[5772] HttpWebRequest 中的异常#63722612::- 基础连接已关闭:接收时发生意外错误。System.Net 详细:0:[5772] ConnectStream#15566556::Close()
System.Net 详细:0:[5772] 退出 ConnectStream#15566556::Close()

最佳答案

在您的 web 服务绑定(bind)中,app.exe.config 应该是最大接收消息大小的设置。默认值为 maxReceivedMessageSize="65536"。增加该值应该允许客户端应用程序接收所有数据。

关于c# - SOAP 响应大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5992639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com