如何在WSO2 ESB中转换JSON
我试图将JSON作为对象传递给WSO2 ESB。 我得到的JSON是这样的:如何在WSO2 ESB中转换JSON,json,wso2,wso2esb,Json,Wso2,Wso2esb,我试图将JSON作为对象传递给WSO2 ESB。 我得到的JSON是这样的: '{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}' '{"RECORD":{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}}' 我需要将这个JSON作为动态列传递给ESB。但是它像JSON{NAME:KISHORE}一样被接受。如何在WSO2 ESB中从上面的JSON转换到下面的JSON。如果我超过1,我就无法传递给代理。如果我得到低于1的值,我将像
'{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}'
'{"RECORD":{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}}'
我需要将这个JSON作为动态列传递给ESB。但是它像JSON{NAME:KISHORE}一样被接受。如何在WSO2 ESB中从上面的JSON转换到下面的JSON。如果我超过1,我就无法传递给代理。如果我得到低于1的值,我将像下面这样传递//name/child::text,然后我将得到值,因为我使用ENRICH mediator尝试了KISHORE,但它不起作用
<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>
答复:请求、信封:
<?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>
我认为您应该像这样发送JSON消息:
'{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}'
'{"RECORD":{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}}'
然后通过WSO2 ESB中的属性中介器获取值,如
<property name="FIELDNAME" expression="//FIELDNAME/text()" scope="default" type="STRING"/>
<property name="FIELDVALUE" expression="//FIELDVALUE/text()" scope="default" type="STRING"/>
下面由WSO2提供的链接解释了您感兴趣解决的确切用例 步骤: 使用XSLT中介将JSON转换为XML 使用Enrich中介替换SOAP消息的正文 按照此链接查看详细信息和实际代理配置
我的查询是这样的,select*from emp,其中col=?;列将像select*from emp一样动态添加,其中?=?;我将如何处理wso2 dss或wso2 esb