客户端应用程序已使用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