2017-12-05 26 views
0

Apache SynapseのJSONとしてレスポンスから価値を引き出す方法はありますか?Apache SynapseのJSONとしてレスポンスからプロパティ値を取得する方法は?

ここにapiメディエータの例があります。 http://localhost:8988/accounts/から

<api context="/accounts"> 
    <resource methods="GET"> 
     <inSequence> 
      <log level="full"/> 
      <send> 
       <endpoint> 
        <address uri="http://localhost:8988/accounts/"> 
        </address> 
       </endpoint> 
      </send> 
     </inSequence> 
     <outSequence> 
      <log> 
       <property name="Status" expression="get-property('status')"> 
      </log> 
      <log level="full"/> 
      <send/> 
     </outSequence> 
    </resource> 
</api> 

コールは、このJSONになります:

{ 
    "accountNumber": "123456789", 
    "status": "active" 
} 

ヒットしたらoutSeqeunce>logget-property('status')から取得されて何の結果はありません。

WSO2にはjson-evalのような機能がありますが、解決策はApache Synapseを使用して制限する必要があります。

答えて

0

あなたの質問を本当に理解しているのか、JSONパス表現を使用したくないのかわかりません。

おそらくこれが解決策です。プロパティを設定するだけで、JSONをXMLに変換できます。

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

これで、XPath式を使用してアクセスできます。以下のリンクは、これを行う方法を説明します。

JSON Support

関連する問題