Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,当网络连接在WebService调用过程中丢失时引发异常(类似于WCF CommunicationException)_Java_Wcf_Web Services - Fatal编程技术网

在Java中,当网络连接在WebService调用过程中丢失时引发异常(类似于WCF CommunicationException)

在Java中,当网络连接在WebService调用过程中丢失时引发异常(类似于WCF CommunicationException),java,wcf,web-services,Java,Wcf,Web Services,我正在处理使用JAX-WSRI生成的Java中自动生成的WebService存根 我的实际服务是一个.Net程序,它使用WCF basicHttpBinding公开其Web服务 在实际的Web服务调用期间,我应该如何处理通信问题。i、 e.在客户端的WCF中,如果遇到通信/网络问题,您将使用catch CommunicationException来包装您的呼叫 处理这个问题似乎没有经过检查的例外情况 当我通过web服务方法查看自动生成的存根接口时,除了WSDL公开的预定义FaultExcepti

我正在处理使用JAX-WSRI生成的Java中自动生成的WebService存根

我的实际服务是一个.Net程序,它使用WCF basicHttpBinding公开其Web服务

在实际的Web服务调用期间,我应该如何处理通信问题。i、 e.在客户端的WCF中,如果遇到通信/网络问题,您将使用catch CommunicationException来包装您的呼叫

处理这个问题似乎没有经过检查的例外情况

当我通过web服务方法查看自动生成的存根接口时,除了WSDL公开的预定义FaultExceptions/消息之外,不会抛出异常

另外,当我实际测试网络断开连接时WebService调用期间会发生什么时,客户端只是挂起调用,而不是抛出某种运行时异常

想法


谢谢

为什么您认为必须将通信错误(例如,由于网络故障)作为已检查的异常进行处理是有用的?Web服务的调用者如何有效地处理这种情况


在我看来,最好允许未经检查的异常向上传播到堆栈中,直到可以合理处理为止。

您的问题似乎完全是关于Java客户端/存根的,与WCF服务毫无关系。这是正确的吗?您可以使用WS-ReliableMessaging来处理此类问题。这就是它看起来的样子。我认为必须以不同的方式生成存根,以公开某种类型的通信错误检查异常,如javax.xml.soap.SOAPException。为了响应kd304,我考虑在支持可靠消息传递的服务器端使用WsHttpBinding。我不太熟悉可靠消息传递的概念,但是如果它被打开并且web引用被更新,java客户端是否会简单地挂起服务调用,直到重新建立连接?谢谢它也可能是一个运行时异常,但是在我的例子中,似乎没有抛出异常,服务调用只是挂起。在相应的.Net WCG客户端应用程序中,我可以捕获CommunicationException和TimeoutException,并相应地进行处理。