我已经配置了一个代理服务来运行一些接受get请求并返回XML验证结果的XSBRL验证程序。下面是代理服务配置:
<proxy xmlns="http://ws.apache.org/ns/synapse" name="XBRLValidationRESTService" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<log level="full"/>
<property name="REST_URL_POSTFIX" value="/example.xbrl/validation/xbrl?media=xml" scope="axis2"/>
<property name="HTTP_METHOD" value="GET" scope="axis2"/>
<send>
<endpoint>
<address uri="http://localhost:10000/rest/xbrl" format="pox"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<log level="full"/>
<send/>
</outSequence>
</target>
<description></description>
</proxy>
在日志文件中,我可以看到底层服务响应预期的响应,但是客户机没有收到任何返回,因为由于某种原因,ESB使用NPE失败了。
localhost:
curl -k https://localhost:9443/services/XBRLValidationRESTService
完整日志:http://pastebin.com/A5jB9wMF
可能的原因是什么?如何解决这个问题。
谢谢,弗拉基米尔。
是否使用阻塞传输运行ESB ?默认情况下,esb使用NIO传输,端口为8280。您的代理服务url,将是;
http://localhost:8280/services/XBRLValidationRESTService
与其将日志置于完整状态,不如使用描述性日志来标识消息路径,