wso2从insequence返回属性值
我正在创建一个wso2,它调用一个端点,然后过滤响应,只返回一个字段,但出于某种原因,esb会使用所有json进行应答 我有这样的想法:wso2从insequence返回属性值,wso2,Wso2,我正在创建一个wso2,它调用一个端点,然后过滤响应,只返回一个字段,但出于某种原因,esb会使用所有json进行应答 我有这样的想法: <resource methods="POST" uri-template="/ESB"> <inSequence> <call description=""> <endpoint key="CountryEP"/> <
<resource methods="POST" uri-template="/ESB">
<inSequence>
<call description="">
<endpoint key="CountryEP"/>
</call>
<property description="" expression="json-eval($.zones[0].countryCode)" name="uri.var.countryCode" scope="default" type="STRING"/>
<log description="">
<property expression="fn:concat('countryCode ', get-property('uri.var.countryCode')) " name="property_name"/>
</log>
<send buildmessage="true" description=""/>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
我的终点呢
<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="CountryEP" xmlns="http://ws.apache.org/ns/synapse">
<http method="get" trace="enable" uri-template="http://api.timezonedb.com/v2/list-time-zone?key=6HW6EJUENX9T&format=json&country={uri.var.country}"/>
</endpoint>
如上所示,我向API发送了一个参数,API使用json进行应答,然后我尝试使用属性解析一个字段,得到了正确的值:
信息-LogMediator至:
,WSAction:,
SOAPAction:,MessageID:
urn:uuid:97744789-8c88-41ff-9475-870761016834,方向:请求,
属性\u name=countryCode CA
但我不能只返回那个值,esb返回所有json。。。想法
提前感谢,
编辑:还尝试使用属性中介上的RESPONSE属性尝试以下操作:
<call description="">
<endpoint key="CountryEP"/>
</call>
<property description="" expression="json-eval($.zones[0].countryCode)" name="uri.var.countryCode" scope="default" type="STRING"/>
<log description="">
<property expression="fn:concat('countryCode ', get-property('uri.var.countryCode')) " name="property_name"/>
</log>
<payloadFactory media-type="json">
<format>{ "Country Code": $1}</format>
<args>
<arg expression="$.zones[0].countryCode.text" evaluator="json"/>
</args>
</payloadFactory>
<property name="messageType" value="application/json" scope="axis2"/>
<respond/>
发布您想要的示例响应。