当我使用SoapUI通过HTTP(basicHttpBinding(通过Internet连接到WCF服务时,我得到了java.net.SocketTimeoutException:读取超时
此异常意味着 SaopUI 无法在时间范围内读取整个消息。有没有办法确定是连接问题还是服务器根本没有响应?
也许如果客户端和/或服务器相互发送一些数据包以检查连接或类似的东西,我现在的问题在哪里。 我相信有些协议会这样做,但我不确定 basicHttpBinding 是否这样做。
我实际上不再有任何问题了,我只是在客户端配置中增加了 sendTimeout,一切都变得很好。 但是,我问是否有办法区分连接问题和服务器问题,以便能够解决类似的问题。
我认为服务器可能有问题。我想知道服务器端的代码设计和客户端对服务的调用。
导致客户端调用失败的因素有很多。例如,客户端配置不正确、绑定、身份验证模式等,客户端需要额外的凭据、证书、用户名/密码。
此外,添加服务引用以生成客户端代理,然后调用服务可能值得一试。
https://learn.microsoft.com/en-us/dotnet/framework/wcf/accessing-services-using-a-wcf-client
如果由于超时设置而出现问题。我们可以在基本的httpbinding上做以下配置。
<basicHttpBinding>
<binding name="mybinding" openTimeout="00:10:00" sendTimeout="00:10:00" receiveTimeout="00:10:00" closeTimeout="00:10:00"></binding>
</basicHttpBinding>
https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuring-timeout-values-on-a-binding 如果问题仍然存在,请随时告诉我。