2016-11-18 4 views
0

私はwso2 esbにいくつかのAPIリソースを持っています。私は応答をカスタムにしたいので、私が望む特定のフィールドだけを返します。たとえば、私は、このような元の応答を持っている:wso2 esbレスポンスの特定のフィールドを返します

{ 
    "studentsResponse": { 
     "return": { 
      "listStudent": [ 
      { 
       "id": "16519", 
       "name": "VELLEN OKTAVIARA" 
      }, 
      { 
       "id": "16520", 
       "name": "ADINDA ALFIYUNISA SELANIAR" 
      }, 
      ] 
     } 
    } 
} 

は、どのように私はreturnstudentsResponseフィールドなしlistStudentフィールドを取得することができます。

これは私のoutsequenceコードです:私はちょうどJSONに変換

<outSequence> 
     <property name="messageType" scope="axis2" type="STRING" value="application/json"/> 
     <send /> 
    </outSequence> 

、私は私のoutsequenceに何をすべきでしょうか?

ありがとう

答えて

1

私はそれを理解しました。

は、私はちょうどこのように、ペイロード工場を追加する必要があります。

<payloadFactory media-type="json"> 
      <format>$1</format> 
      <args> 
       <arg expression="$.studentsResponse.return.listStudent" 
        evaluator="json"></arg> 
      </args> 
     </payloadFactory> 
+0

あなたはまた、仲介者を豊かに使って同じことを行うことができます。ペイロードの一部を抽出しようとしている場合は、豊かな効果があります。ペイロード工場はペイロードを変換するためのものです。しかし、その本当にあなたの選択:)両方のメディエーターは仕事をすることができます。 – maheeka

+0

ああ、ありがとう。 :) –

+0

こんにちは@maheeka実際に私はここに他の問題があるhttp://stackoverflow.com/questions/40694390/soap-messages-are-not-sent-using-wso2-esb-rest-api そこに、ありがとう:) –