Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在WSO2 ESB中转换JSON_Json_Wso2_Wso2esb - Fatal编程技术网

如何在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的值,我将像

我试图将JSON作为对象传递给WSO2 ESB。 我得到的JSON是这样的:

'{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