2015-02-17 3 views
5

Я пытаюсь реализовать простой REST API для биения сердца в WSO2 ESB и не могу получить ответ обратно. Ниже представлен APIКак реализовать фиктивный API REST в WSO2 ESB

<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> 

Когда я скручиваю 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

Shibu, Используйте следующее выражение в вашей собственности посредника. json-eval ($. Status)

+0

Не знаете, как это поможет. Вместо того, чтобы печатать все сообщение, оно будет печатать только "OK" – Shibu

Смежные вопросы