问题描述
<inbound-endpoint exchange-pattern="request-response" address="${webservice.url}" doc:name="Generic"></inbound-endpoint>
我将球衣资源用于休息组件。 该代码在 QA 中运行良好,但在 UAT 中会引发以下错误。
ERROR org.mule.exception.DefaultSystemExceptionStrategy - Caught exception in Exception Strategy: Connection reset
java.net.socketException: Connection reset
at java.net.socketInputStream.read(SocketInputStream.java:209) ~[?:1.8.0_111]
at java.net.socketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_111]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_111]
at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[?:1.8.0_111]
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) ~[commons-httpclient-3.1.jar:?]
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) ~[commons-httpclient-3.1.jar:?]
at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:245) ~[mule-transport-http-3.8.1.jar:3.8.1]
at org.mule.transport.http.HttpServerConnection.getRequestLine(HttpServerConnection.java:557) ~[mule-transport-http-3.8.1.jar:3.8.1]
at org.mule.transport.http.HttpRequestdispatcherWork.run(HttpRequestdispatcherWork.java:67) ~[mule-transport-http-3.8.1.jar:3.8.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Telnet 到端口的工作正常。除其余方法外,cron 作业在服务器中运行良好。
解决方法
连接请求表示对方关闭了连接。鉴于该应用程序在一种环境中工作,我认为问题出在环境上。您必须找出导致该问题的环境之间的不同之处。客户端和 Mule 应用程序之间有什么东西吗?负载均衡器、代理等?超时的区别?从双方执行网络流量捕获可能有助于隔离问题。