2015-02-17 72 views
5

我一直试图在WSO2 ESB中实现一个简单的心跳REST API,并且无法获得响应。下面是API如何在WSO2 ESB中实现虚拟REST API

<api xmlns="http://ws.apache.org/ns/synapse" name="HealthCheckAPI" context="/HealthCheck"> 
    <resource methods="GET" url-mapping="/status" faultSequence="fault"> 
     <inSequence> 
     <payloadFactory media-type="json"> 
      <format>{"Status":"OK"}</format> 
      <args></args> 
     </payloadFactory> 
     <log> 
      <property name="JSON-Payload" expression="json-eval($.)"></property> 
     </log> 
     <property name="messageType" value="application/json" scope="axis2" type="STRING"></property> 
     <respond></respond> 
     </inSequence> 
    </resource> 
</api> 

当我curl的API,响应是零长度。什么可能是错的?

卷曲-v http://localhost:8280/HealthCheck/status

回答

6

您需要设置以下属性。

<property name="NO_ENTITY_BODY" scope="axis2" action="remove"></property> 

请找工作实例

<api xmlns="http://ws.apache.org/ns/synapse" name="HealthCheckAPI" context="/HealthCheck"> 
    <resource methods="GET" url-mapping="/status" faultSequence="fault"> 
     <inSequence> 

     <payloadFactory media-type="json"> 
      <format>{"Status":"OK"}</format> 
      <args></args> 
     </payloadFactory> 
     <log> 
      <property name="JSON-Payload" expression="json-eval($.)"></property> 
     </log> 

     <property name="NO_ENTITY_BODY" scope="axis2" action="remove"></property> 
     <property name="messageType" value="application/json" scope="axis2" type="STRING"></property> 
     <respond></respond> 
     </inSequence> 
    </resource> 
</api> 
0

石埠, 使用按照你的财产调解员表达。 json-eval($。Status)

+0

不知道这是如何的帮助。而不是打印整个消息,它只会打印“确定” – Shibu 2015-02-20 23:32:44