【问题标题】:WSO2 EI Construct XML request using Json payloadWSO2 EI 使用 Json 有效负载构造 XML 请求
【发布时间】:2019-10-14 01:42:42
【问题描述】:

如何使用以下 JSON 构建 XML 负载:

{
    "Request": {
        "lineCode": "00060139A",
        "lineSerial": "1",
        "lineCurrency": "MNT",
        "revolvingLine": "Y",
        "lineExpiryDate": "2019-12-25",
        "availabilityFlag": "Y",
        "limitAmount": "1000.00",
        "nettingRequired": "N",
        "unAdvised": "N",
        "liaBBr": "101",
        "branchId" : "101",
        "lmtAmtBasics": "L",
        "funded": "N",
        "liaBID": "l",
        "description": "desc",
        "udfDetails": [
            {
                "fieldName": "BONEV",
                "fieldValue": "0"
            },
            {
                "fieldName": "test",
                "fieldValue": "1"
            }
        ]
    }
}

它包含json数组,udfDetails,

我想在下面构建 xml,我尝试了 iterate 和 foreach 但它通过 udf 参数循环了整个请求(在这种情况下为 2 次):

 <Cust-Account-Full>
  <SWEEP_IN>N</SWEEP_IN>
               <SWEEP_OUT>N</SWEEP_OUT>
               <SPDANLSYS>N</SPDANLSYS>
               <AUTOPROVREQ>N</AUTOPROVREQ>
               <!--FACILITY SALGAH-->
               <LINEIDTSLIST>01110764A1</LINEIDTSLIST>
               <UDFDETAILS>
                  <FLDNAM>TERM_DEPOSIT_LINK</FLDNAM>
                  <FLDVAL>No</FLDVAL>
               </UDFDETAILS>
               <UDFDETAILS>
                  <FLDNAM>Bonev</FLDNAM>
                  <FLDVAL>0</FLDVAL>
               </UDFDETAILS>
               <UDFDETAILS>
                  <FLDNAM>test</FLDNAM>
                  <FLDVAL>1</FLDVAL>
               </UDFDETAILS>
            </Cust-Account-Full>

【问题讨论】:

    标签: wso2 wso2esb wso2-am wso2carbon wso2ei


    【解决方案1】:

    您可以部署以下代理将上述 JSON 转换为 XML。

    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="jsonToXmlProxy"
           startOnLoad="true"
           statistics="disable"
           trace="disable"
           transports="http,https">
       <target>
          <inSequence>
             <property name="messageType" scope="axis2" value="application/xml"/>
             <respond/>
          </inSequence>
       </target>
       <description/>
    </proxy>
    

    messageType 属性可用于 XML 到 JSON 和 JSON 到 XML 的转换。 下面的示例将 XML 转换为 JSON。

    <property name="messageType" scope="axis2" value="application/xml"/>
    

    调用jsonToXmlProxy会得到如下响应。

    <jsonObject>
        <Request>
            <lineCode>00060139A</lineCode>
            <lineSerial>1</lineSerial>
            <lineCurrency>MNT</lineCurrency>
            <revolvingLine>Y</revolvingLine>
            <lineExpiryDate>2019-12-25</lineExpiryDate>
            <availabilityFlag>Y</availabilityFlag>
            <limitAmount>1000.00</limitAmount>
            <nettingRequired>N</nettingRequired>
            <unAdvised>N</unAdvised>
            <liaBBr>101</liaBBr>
            <branchId>101</branchId>
            <lmtAmtBasics>L</lmtAmtBasics>
            <funded>N</funded>
            <liaBID>l</liaBID>
            <description>desc</description>
            <udfDetails>
                <fieldName>BONEV</fieldName>
                <fieldValue>0</fieldValue>
            </udfDetails>
            <udfDetails>
                <fieldName>test</fieldName>
                <fieldValue>1</fieldValue>
            </udfDetails>
        </Request>
    </jsonObject>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-24
      • 2023-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多