客戶端應用程序已使用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和我得到了同樣的錯誤連接休息。我認爲這個新的更新版本顯示程序代碼沒有任何問題。但我需要知道去哪裏或現在檢查。現在的出發點在哪裏來解決這個問題。任何線索都會有幫助。
鏈接中的答案是錯誤的。雙方的錯誤是一樣的。一旦建立了連接,客戶端就無法與服務器區分開來,當然還有錯誤代碼。 – EJP 2015-03-24 07:18:57
@EJP有什麼建議來解決這個問題?任何線索都會有幫助嗎?我應該從哪裏開始?我需要檢查的任何其他日誌文件? – Salman 2015-03-24 07:25:34
請參閱我對該答案的新評論。 '連接重置'意味着*您的*端重置連接。通常的原因是你關閉了套接字而沒有讀取所有傳入的數據,但還有其他原因。發佈一些代碼。 – EJP 2015-03-24 08:34:23