2017-04-04 119 views
0

我想通过一个客户端WSDL文件来创建SOAP Web服务客户端通过使用Apache Axis的2和Tomcat 6Web服务SOAP越来越读超时异常

我成功生成客户端,但是当我打电话的方法来获得数据我收到错误。

WSDL位置:https://staging2.myhcl.com/MedicalClaim/Service.svc?wsdl

错误:

Unable to sendViaPost to url[ http://staging2.myhcl.com/MedicalClaim/Service.svc] java.net.SocketTimeoutException: Read timed out

我的疑问是提到如下:

  1. 我们用GET或POST方法,我们如何在SOAP网络知道发送请求服务?
  2. 当上面提到的错误曾经来过?
  3. 除了Apache Axis 2之外,我们还可以使用其他生成客户端来访问此WSDL文件吗?

回答

0

您可能需要检查它走在骷髅end.I多少时间做了SOAP一段时间回来,我都面临着同样的issue.Below代码可以帮助你

private HttpURLConnection getConnection(String endPoint) { 
    try { 
     URL url = new URL(endPoint); 
     URLConnection connection = url.openConnection(); 
     connection.setConnectTimeout(20000); // 20 sec connection timeout 
     connection.setReadTimeout(60000); // 60 sec read timeout 
     HttpURLConnection httpConnection = (HttpURLConnection) connection; 
     httpConnection.setRequestMethod("POST"); 
     OutputStream out = httpConnection.getOutputStream(); 
     return httpConnection; 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
     return null; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
    } 

} 

但保证您的服务(Skeleton)不需要太多时间来处理请求。您可以使用SoapUI来查找返回响应所需的时间。因此,您可以设置超时值。

这里来你的疑虑的答案:

1.You可以设置POST/GET在HttpURLConnection的对象。

2.如果连接闲置很长时间并且服务未返回任何结果,则可能会出现指定的错误。使用SoapUI检查Service的答复。

带有Apache Axis2的3.wsdl2java和java2wsdl是一个很好的选择。另外xmlbeans有一个内置的转换器,使用起来非常方便。

+0

谢谢先生,您的宝贵回应。 – rishabhkeshari123

相关问题