我们在 ESB 4.5.1 中遇到了 WSO2 标注调解器的问题。
假设一个简单的代理,如:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="EchoWrapper" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<callout serviceURL="http://[MY_HOSTNAME]:8280/services/echo?wsdl" action="urn:echoInt">
<source xmlns:ns="http://org.apache.synapse/xsd" xpath="$body/*[1]"/>
<target key="calloutBody"/>
</callout>
<property name="RESPONSE" value="true" scope="default" type="STRING"/>
<header name="To" value="http://www.w3.org/2005/08/addressing/anonymous"/>
<log level="full"/>
<send/>
</inSequence>
</target>
<publishWSDL uri="http://[MY_HOSTNAME]/services/echo?wsdl"/>
<description></description>
</proxy>
..如果我犯了一个错误,即传递一个需要int的字符串,我将得到一个立即的错误响应,一个缓慢的错误响应,然后端点将完全不活动,即使对于有效消息也是如此。在日志中,我们看到:
org.apache.commons.httpclient.ConnectionPoolTimeoutException:在 org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java: 416) 在 org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:153) 在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) ...
有任何想法吗?