2015-02-10 294 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

为了解决这个问题,得出的结论这一事实,机带宽具有客户端应用程序运行的位置增加。

相关问题