0

wso2esb 4.7.0 REST API を使用して、次のユース ケースを実装しようとしています。

GET 要求を実行すると、JSON メッセージを作成し、バックエンド サービスに POST 要求を行い、クライアントに返される JSON 応答を受け取る REST リソースを公開します。

JSON メッセージの作成に問題があります。Payloadfactory メディエータを使用して JSON リクエストを作成していますが、バックエンド サービスで空の SOAP メッセージしか取得できません。

私が使用しているREST APIソース構成は次のとおりです。

<api xmlns="http://ws.apache.org/ns/synapse" name="test" context="/test">
 <resource methods="GET" uri-template="/test">
  <inSequence>
     <payloadFactory media-type="json">
        <format>{"request": "Hello JSON!"}</format>
        <args/>
     </payloadFactory>
     <property name="Content-Type" value="application/json" scope="transport" type="STRING"/>
     <send>
        <endpoint name="HTTPEndpoint">
           <http method="POST" uri-template="http://localhost:8080"/>
        </endpoint>
     </send>
     <log level="full"/>
  </inSequence>
  <outSequence>
     <send/>
  </outSequence>
 </resource>
</api>
4

1 に答える 1

0

メディエーターを送信する前に、「messageType」プロパティを次のように設定する必要があります。

    <property name="messageType" value="application/json" scope="axis2"/>

したがって、構成を次のように変更する必要があります。

<api xmlns="http://ws.apache.org/ns/synapse" name="test" context="/test">
 <resource methods="GET" uri-template="/test">
    <inSequence>
     <payloadFactory media-type="json">
          <format>{"request": "Hello JSON!"}</format>
        <args/>
     </payloadFactory>
     <property name="messageType" value="application/json" scope="axis2"/>
     <send>
      <endpoint name="HTTPEndpoint">
       <http method="POST" uri-template="http://localhost:8080"/>
      </endpoint>
    </send>
   <log level="full"/>
  </inSequence>
  <outSequence>
   <send/>
  </outSequence>
 </resource>
</api>
于 2013-09-14T15:22:10.017 に答える