我正在尝试将我的 JSON 作为对象传递给 WSO2 ESB。我得到这样的JSON:
'{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}'
这个 JSON 我需要将我的 ESB 作为动态列传递。但它像 JSON 一样接受{"NAME":"KISHORE"}
。如何在 WSO2 ESB 中从 JSON 以上转换为以下 JSON。如果我超过一个,我将无法传递给代理。如果我低于 1,我会像这样通过,(//name/child::text())
那么我将获得价值为“KISHORE”,我曾尝试使用 ENRICH 调解器,但它不起作用。
<proxy xmlns="http://ws.apache.org/ns/synapse" name="test_dynamic" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<enrich>
<source type="body" clone="true"/>
<target type="property" property="RM"/>
</enrich>
<property name="RM" expression="//fieldname/child::text()" scope="default" type="STRING"/>
<log level="custom">
<property name="r_no" expression="get-property('R_no')"/>
<property name="r_value" expression="get-property('R_value')"/>
<property name="emp_d" expression="get-property('emp')"/>
<property name="RM" expression="get-property('RM')"/>
</log>
<log level="full"/>
</inSequence>
</target>
<description></description>
</proxy>
ANS:请求,信封:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body><fieldname>e_no</fieldname><fieldvalue>5</fieldvalue></soapenv:Body>
</soapenv:Envelope>