1. SOAP PROXY から値を取得する必要がある
2.ローカル変数に保存する必要があります
3.クエリ パラメータを使用して値を REST サービスに渡す必要があります。
4. REST サービスからの応答を SOAP 形式にフォーマットする必要があります。
SOAP リクエストは、
<request>
<fromDate>2012-01-01</fromDate>
<toDate>2012-12-31</toDate>
</request>
SOAP PROXY Request からの値を次のように保存できます。
<proxy xmlns="http://ws.apache.org/ns/synapse" name="RESTProxy" transports="https,http" statistics="disable" trace="disable" startOnLoad="true><target>
<inSequence>
<property name="fromDate" expression="//fromDate" scope="default" type="STRING"/>
<property name="toDate" expression="//toDate" scope="default" type="STRING"/>
次に、値を REST サービスに渡すことができます。
<send>
<endpoint>
<http method="GET" uri-template="http://localhost/person?fromDate=={get-property('fromDate')}&toDate={get-property('toDate')}"/>
</endpoint>
</send>
</inSequence>
次に、PayloadFactoryメディエーターを使用して応答をフォーマットできます。
<outSequence>
<payloadFactory media-type="xml">
<format>
<person>
<Name>$1</Name>
<Age>$2</Age>
<Sex>$3</Sex>
</person>
</format>
<args>
<arg evaluator="json" expression="$.Name"/>
<arg evaluator="json" expression="$.Age"/>
<arg evaluator="json" expression="$.Sex"/>
</args>
</payloadFactory>
<send/>
</outSequence>
</target>
<description/>
</proxy>
したがって、プロキシの応答は次のようになります。
<person>
<name>Geoff</name>
<age>22</age>
<sex>Male</sex>
<person>