OSB-380000:调用服务提供方服务错误:[OSB-381304]Exception in HttpOutboundMessageContext.RetrieveHttpResponseWork.run: java.io.IOException: SocketMuxer detected socket closure while waiting for a response java.io.IOException: SocketMuxer detected socket closure while waiting for a response at weblogic.net.http.SocketClosedNotification.<clinit>(SocketClosedNotification.java:13) at weblogic.net.http.AsyncResponseHandler$MuxableSocketHTTPAsyncResponse.handleError(AsyncResponseHandler.java:399) at weblogic.net.http.AsyncResponseHandler$MuxableSocketHTTPAsyncResponse.hasException(AsyncResponseHandler.java:507) at weblogic.socket.SocketMuxer.deliverExceptionAndCleanup(SocketMuxer.java:847) at weblogic.socket.SocketMuxer.deliverHasException(SocketMuxer.java:781) at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:958) at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:917) at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:171) at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:30) at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:43) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:147) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:119) ;
在webService调接口的时候报错,原本以为是代码问题,后来发现,其实根本原因就是服务器宕机了,然后客户端还向服务器发送调接口请求导致socket请求超时报错。还有一种情况,是服务器是负载均衡的,表面上访问服务器是没问题,但是webService可能会把请求发送到已经宕掉的节点上,导致调用接口失败,这个原因很坑的。
解决办法:检查服务器是否正常。宕掉的节点设置不能访问即可。