WSO2 EI Создание XML-запроса с использованием полезной нагрузки Json - PullRequest
1 голос
/ 14 октября 2019

Как построить полезную нагрузку XML, используя ниже JSON:

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

1 Ответ

0 голосов
/ 22 октября 2019

Вы можете развернуть следующий прокси для преобразования вышеуказанного 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>
...