2015-02-17 69 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