我正在尝试创建消息中介策略,通过它可以进行附加的http调用,处理响应并丰富当前消息。我怎样才能做到这一点?我使用呼叫调解器,但不了解如何处理回复。
<?xml version="1.0" encoding="UTF-8"?> <sequence name="call_out_handler" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<call blocking="true">
<endpoint>
<http method="get" uri-template="http://192.168.99.100:8888/stubFORAPIMan/ServletWithTimeout"/>
</endpoint>
</call> </sequence>
答案 0 :(得分:1)
您可以使用PayloadFactory介体[1]通过调用“调用”介体中的终结点来处理/格式化收到的响应。
一个例子就是这样。假设您想通过从收到的响应中填充值来提供json对象;您可以在“格式”部分中定义json对象格式,并通过在PayloadFactory介体的“ args”部分中提供参数来填充值,如下所示。
<payloadFactory media-type="json">
<format>
{
"Data": {
"PaymentSubmissionId": "$1",
"PaymentId": "$2",
"Status": "$3",
"CreationDateTime": "$4"
}
}
</format>
<args>
<arg evaluator="xml" expression="$body//PaymentSubId"/>
<arg evaluator="xml" expression="$body//PaymentId"/>
<arg evaluator="xml" value="AcceptedSettlementInProcess"/>
<arg value="2019-06-05T15:15:22+00:00"/>
</args>
</payloadFactory>
<property name="messageType" value="application/json" scope="axis2" type="STRING"/>
[1] https://docs.wso2.com/display/EI640/PayloadFactory+Mediator