2015-02-17 25 views
5

Próbowałem zaimplementować prosty interfejs API REST do bicia serca w WSO2 ESB i nie jestem w stanie uzyskać odpowiedzi. Poniżej przedstawiono interfejs APIJak zaimplementować ślepy API REST w 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> 

Po zwinięciu interfejsu API odpowiedź ma długość zero. Co może być nie tak?

curl -v http://localhost:8280/HealthCheck/status

Odpowiedz

6

Musisz ustawić następującą właściwość.

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

Proszę wybrać przykład roboczych

<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, Użyj następującego wyrażenia w swojej pośrednika nieruchomości. json-eval ($. Status)

+0

Nie wiem jaki to ma pomoc. Zamiast drukować całą wiadomość, wydrukuje tylko "OK" – Shibu