我正在尝试将我的JSON作为对象传递给WSO2 ESB。 我正在获得这样的JSON:
'{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}'
这个JSON我需要将我的ESB作为动态列传递。但它接受像JSON {"NAME":"KISHORE"}
。如何在WSO2 ESB中将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:request,Envelope:
<?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>
答案 0 :(得分:0)
我认为你应该发送这样的JSON消息:
'{"RECORD":{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}}'
然后通过WSO2 ESB中的“Property”介体获取值,如
<property name="FIELDNAME" expression="//FIELDNAME/text()" scope="default" type="STRING"/>
<property name="FIELDVALUE" expression="//FIELDVALUE/text()" scope="default" type="STRING"/>
答案 1 :(得分:0)
WSO2下面提供的链接解释了您有兴趣解决的确切用例
步骤:
请点击此链接获取详细信息和实际代理配置
https://docs.wso2.com/display/ESB480/Sample+440%3A+Converting+JSON+to+XML+Using+XSLT