ESB 不会从 GET 服务返回任何内容,失败并导致 NPE



我已经配置了一个代理服务来运行一些接受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

与其将日志置于完整状态,不如使用描述性日志来标识消息路径,

最新更新