【问题标题】:How to convert the JSON in WSO2 ESB如何在 WSO2 ESB 中转换 JSON
【发布时间】:2013-01-18 05:29:11
【问题描述】:

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

'{FIELDNAME":"NAME",FIELDVALUE:"KISHORE"}'

我需要将此 JSON 作为动态列传递。但它像 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>

【问题讨论】:

  • 我的查询是这样的(select * from emp where col=?; 列将像 select * from emp where ?=? 一样动态添加;我将如何在 wso2 dss 或 wso2 esb 中处理跨度>

标签: json wso2 wso2esb


【解决方案1】:

我认为你应该像这样发送 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"/>

【讨论】:

    【解决方案2】:

    WSO2 下面提供的链接解释了您有兴趣解决的确切用例

    步骤:

    1. 使用 XSLT 中介器将 JSON 转换为 XML
    2. 使用 Enrich 中介替换 SOAP 消息的正文

    点击此链接了解详细信息和实际代理配置

    https://docs.wso2.com/display/ESB480/Sample+440%3A+Converting+JSON+to+XML+Using+XSLT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多