2017-04-04 117 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

相關問題