2015-02-10 205 views
0

客戶端應用程序已使用Jdeveloper 10.1.3.2構建,並且正在OC4J服務器上運行。此應用程序正在向外部服務器應用程序發送數它工作了很長時間沒有任何問題。最近的連接問題發生,並生成以下堆棧跟蹤:HTTP傳輸錯誤:java.net.SocketException:連接重置

com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.SocketException: Connection reset 
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:133) 
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:153) 
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:93) 
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105) 
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:629) 
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:588) 
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:573) 
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:470) 
at com.sun.xml.ws.client.Stub.process(Stub.java:319) 
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:157) 
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109) 
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89) 
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:140) 
at $Proxy44.sendRem(Unknown Source) 

goggling我發現了這個鏈接錯誤sockets - What's causing my java.net.SocketException: Connection reset?。一回答了良好的討論後說,主要是從客戶端的問題,因爲如果它來自服務器端的例外將是(SocketException reset by peer)。

我做了什麼: 我嘗試了增加插座超時對於這種形式How to change OC4J HTTP Timeout的幫助下OC4J。我所做的是我把合格oracle.j2ee.http.socket.timeout改爲5000而不是500(10倍以上)

但是錯誤仍然存​​在。那麼,有什麼建議可以解決這個問題?

注意:我能夠使用telnet命令爲外部服務器的IP和端口,它工作正常。

--------------------------------------------- ----------- Update 1 ------------------------------------- -------------------

我增加在客戶端應用程序使用的服務器下面的命令運行的服務器的時鐘偏移啓動:

-Dweblogic.wsee.security.clock.skew=72000000 
-Dweblogic.wsee.security.delay.max=72000000 

但沒有運氣,問題沒有解決。

--------------------------------------------- ----------- Update 2 ------------------------------------- -------------------

我意識到問題並非來自應用程序;我測試外部URL使用SoapUI和我得到了同樣的錯誤連接休息。我認爲這個新的更新版本顯示程序代碼沒有任何問題。但我需要知道去哪裏或現在檢查。現在的出發點在哪裏來解決這個問題。任何線索都會有幫助。

+0

鏈接中的答案是錯誤的。雙方的錯誤是一樣的。一旦建立了連接,客戶端就無法與服務器區分開來,當然還有錯誤代碼。 – EJP 2015-03-24 07:18:57

+0

@EJP有什麼建議來解決這個問題?任何線索都會有幫助嗎?我應該從哪裏開始?我需要檢查的任何其他日誌文件? – Salman 2015-03-24 07:25:34

+1

請參閱我對該答案的新評論。 '連接重置'意味着*您的*端重置連接。通常的原因是你關閉了套接字而沒有讀取所有傳入的數據,但還有其他原因。發佈一些代碼。 – EJP 2015-03-24 08:34:23

回答

0

正如您在問題的更新2中看到的,問題不是來自客戶端應用程序,因爲從SoapUI發生了相同的錯誤。

問題是客戶機應用程序運行的機器的帶寬低帶寬這對於API通信來說是不夠的。使用簡單的速度測試,我發現上傳帶寬比服務器應用程序團隊給出的最低要求低。

我通過監控使用Resource Monitor in Windows,而客戶端應用程序正在運行的網絡資源,並通過使用online speed check

爲了解決這個問題,得出的結論這一事實,機帶寬具有客戶端應用程序運行的位置增加。

相關問題