3

以下に播種された残りのサービスを呼び出しています

<resource methods="GET" url-mapping="/getallpayments" faultSequence="error_handler_">
  <inSequence>
     <log level="custom">
        <property name="CashreceiptsService" value="**************Entered into getallpayments*************"/>
        <property name="Request Payload" expression="get-property('JSON_OBJECT')"/>
     </log>
     <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
     <property name="messageType" value="application/json" scope="axis2"/>
     <oauthService remoteServiceUrl="https://localhost:9443/services/OAuth2TokenValidationService/" username="admin" password="admin"/>
     <log level="custom">
        <property name="CashreceiptService" value="^^^^^^^^^^^^OAUTH COMPLETED^^^^^^^^^^^^"/>
        <property name="User Name******" expression="get-property('username')"/>
     </log>
     <send>
        <endpoint>
           <http format="rest" method="GET" uri-template="http://localhost:8080/rest/commonService/getallpayments"/>
        </endpoint>
     </send>

     <drop/>
  </inSequence>

以下の応答が得られます

[{"typeId":1,"name":"Entity_Type","value":"EMPLOYER","description":"Employer","createdDate":"08/12/2013","tenantId":0,"hasPhiFields":false},{"typeId":2,"name":"Entity_Type","value":"BROKER","description":"Broker","createdDate":"08/12/2013","tenantId":0,"hasPhiFields":false}]

UI で上記の応答を取得できます。しかし、Api 内の「typeId」の応答が必要であり、その typeId を取得して入力パラメーターとして別のサービスに渡す必要があり、このサービスは UI に最終的な応答を返します。現在、サービスチェーンを使用して実装しています。

主な問題は、あるサービスの応答を取得し、入力パラメーターとして別のサービスに渡す方法ですか? 私に提案してください、私はWSO2 ESBが初めてです。

また、ユーザーが送信した POST データを取得する方法は?

4

1 に答える 1

0

you may grab the values in out sequence else any other sequence for getting response from their you may send to another endpoint or proxy or any endpoint in your case you get the values in out sequence or any other sequence u need adopt particuler object like this

<property xmlns:f="http://ws.wso2.org/dataservice" xmlns:ns="http://org.apache.synapse/xsd" name="typeid" expression="//f:typeid/text" scope="default" type="STRING"/>

or else u define as per your endpoint

<send receive="someothersequencename">
        <endpoint>
           <http format="rest" method="GET" uri-template="http://localhost:8080/rest/commonService/getallpayments"/>
        </endpoint>
     </send>

then u will get all response in this sequence

于 2013-09-27T07:34:41.227 に答える