WSO2 EI 使用 Json 负载构建 XML 请求
WSO2 EI Construct XML request using Json payload
如何使用以下 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,我尝试了迭代和 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>
您可以部署以下代理以将 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>
如何使用以下 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,我尝试了迭代和 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>
您可以部署以下代理以将 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>