1. è necessario per ottenere il valore dal SOAP DELEGA
2. è necessario memorizzarlo in una variabile locale
3. è necessario passare il valore alla REST servizio utilizzando parametri di ricerca
4. è necessario formattare la risposta da REST servizio in un formato SOAP
La richiesta SOAP sarà,
<request> <fromDate>2012-01-01</fromDate> <toDate>2012-12-31</toDate> </request>
È possibile memorizzare il valore da SOAP DELEGA richiesta come,
<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"/>
Quindi è possibile passare i valori al Servizio REST da,
<send>
<endpoint>
<http method="GET" uri-template="http://localhost/person?fromDate=={get-property('fromDate')}&toDate={get-property('toDate')}"/>
</endpoint>
</send>
</inSequence>
Poi è possibile formattare la risposta utilizzando PayloadFactory mediatore,
<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>
Così la risposta del Proxy sarà,
<person>
<name>Geoff</name>
<age>22</age>
<sex>Male</sex>
<person>
fonte
2016-01-05 11:59:18
Mille grazie, l'esempio è molto utile. Tuttavia ci stiamo ancora chiedendo - come possiamo convertire i parametri xml SOAP in parametri di query per la nostra chiamata REST? Puoi aiutare? –