Skip to main content

WSO2 ESB Convert integer array to String array

 <?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="logTestProxy"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <payloadFactory media-type="json">
            <format>
 {

  "entry": [
    {
      "resource": {
        "id": 111111,
        "address": {
          "type": "postal",
          "line": [
            33333,
            99999
          ],

          "city": "AAAAA",
          "state": "TX",
          "postalCode": 1223,
          "country": "US"
        }
    },
    {
      "resource": {

        "id": 222222,
        "address": {
          "type": "postal",
          "line": [
            "amalka33333",
            "amalka99999"
          ],

          "city": "CCCCC",
          "state": "TX",
          "postalCode": 345433,
          "country": "US"
        }
    },
    {
      "resource": {

        "id": 342423424
    }
  ]
}
                </format>
            <args/>
         </payloadFactory>
         <script language="js">

            var payload = mc.getPayloadJSON();
            var log = mc.getServiceLog();        
   

            for (i = 0; i &lt; payload.entry.length; ++i) {
                if(payload.entry[i].resource.hasOwnProperty('address')) {
                    if(payload.entry[i].resource.address.hasOwnProperty('line')) {
                        var lineArray = payload.entry[i].resource.address.line;
                        payload.entry[i].resource.address.line=lineArray.join().split(',');
                    }
                }
            }
            mc.setPayloadJSON(payload);

        </script>
        <property name="messageType"
                   scope="axis2"
                   type="STRING"
                   value="application/json"/>
         <respond/>
      </inSequence>
      <outSequence/>
   </target>
   <description/>
</proxy>

Response:
  {
  "entry": [
    {
      "resource": {
        "id": 111111,
        "address": {
          "type": "postal",
          "line": [
            "33333",
            "99999"
          ],

          "city": "AAAAA",
          "state": "TX",
          "postalCode": 1223,
          "country": "US"
        }
    },
    {
      "resource": {

        "id": 222222,
        "address": {
          "type": "postal",
          "line": [
            "amalka33333",
            "amalka99999"
          ],

          "city": "CCCCC",
          "state": "TX",
          "postalCode": 345433,
          "country": "US"
        }
    },
    {
      "resource": {

        "id": 342423424
    }
  ]
}
 

Comments

Popular posts from this blog

Send email via WSO2 ESB with several attachments

WSO2 ESB Mail transport allows you to send a email only with 1 attachment. If you want to send number of attachments here's the solution. Scenario: Here I want to extract some content from the input message and attach to the email as two different attachment. Solution:  You can achieve this requirement using Gmail connector. Steps:  Add the Gmail connector to the ESB and enable it. You can download the esb connector here https://storepreview.wso2.com/store/assets/esbconnector/a1fba975-89fb-4bb0-a1b9-9f9d061fb31c Add it to the ESB and enable it https://docs.wso2.com/display/ESB481/Managing+Connectors+in+Your+ESB+Instance Gmail connector documentation https://docs.wso2.com/display/ESBCONNECTORS/Gmail+Connector Setup the scenario: split the input message and send it with an email using two different attachments. Input message I used <email>         <username>sender@gmail.com<...

Create Application in WSO2 App Cloud via REST API

This blog post gives you some examples on how to use createApplication REST API correctly in WSO2 App Cloud  https://docs.wso2.com/display/AppCloud/Published+APIs Before invoke createApplication API, you need to login to the WSO2 App Cloud and get the session cookie. curl -c cookies -v -k -X POST -k https://apps.cloud.wso2.com/appmgt/site/blocks/user/login/ajax/login.jag -d 'action=login&userName=amalka.wso2.com@<tenant>&password=<password>’ This are some basic example to create applications in WSO2 App Cloud. Create application via upload from file system curl -v -k -b cookies -X POST https://apps.cloud.wso2.com/appmgt/site/blocks/application/application.jag -F action=createApplication -F applicationName=SampleFile -F applicationDescription=desc -F runtime=1 -F appTypeName=war -F applicationRevision=1.0.0 -F uploadedFileName=sample.war -F runtimeProperties=[] -F tags=[]  -F fileupload=@/home/amalka/Downloads/sample.war -F isFileAttached=t...

How to generate random unique number in SOAP UI request

eg 1: ${=System.currentTimeMillis() + ((int)(Math.random()*10000))} eg 2: ${=java.util.UUID.randomUUID()} ${=java.util.UUID.randomUUID()} ${=System.currentTimeMillis() + ((int)(Math.random()*10000))} - See more at: http://tryitnw.blogspot.com/2014/03/generating-random-unique-number-in-soap.html#sthash.m2S4tUFu.dpuf ${=System.currentTimeMillis() + ((int)(Math.random()*10000))} - See more at: http://tryitnw.blogspot.com/2014/03/generating-random-unique-number-in-soap.html#sthash.m2S4tUFu.dpuf ${=System.currentTimeMillis() + ((int)(Math.random()*10000))} - See more at: http://tryitnw.blogspot.com/2014/03/generating-random-unique-number-in-soap.html#sthash.m2S4tUFu.dpuf