SOAP API Parsing

Hello!

I have a SOAP API that I'm reading and it gives the response below.

I need to extract 'average_size', 'enabled' & 'filestoreId'

How can I parse this so that it can be used in Retool?

Thanks,
Marcus

{
  "rawXml": "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><ns4:listAllResponse xmlns=\"http://dataobjects.soap.admin.testtest.com/xsd\" xmlns:ns2=\"http://dataobjects.soap.reseller.admin.testtest.com/xsd\" xmlns:ns3=\"http://dataobjects.rmi.reseller.admin.testtest.com/xsd\" xmlns:ns4=\"http://soap.reseller.admin.testtest.com\" xmlns:ns5=\"http://dataobjects.rmi.admin.testtest.com/xsd\" xmlns:ns6=\"http://exceptions.rmi.admin.testtest.com/xsd\" xmlns:ns7=\"http://rmi.java/xsd\"><ns4:return><average_size>200</average_size><enabled>true</enabled><filestoreId>72900</filestoreId><filestore_name>146379_ctx_store</filestore_name><id>146379</id><loginMappings>test.test.net</loginMappings><loginMappings>test.test.net_test.test.net</loginMappings><loginMappings>146379</loginMappings><maxQuota>1000</maxQuota><name>test.test.net_test.test.net</name><readDatabase><currentUnits xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><driver xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><id>4</id><login xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><master xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><masterId xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><maxUnits xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><name xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><password xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolHardLimit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolInitial xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolMax xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><read_id xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><scheme>db_1_write_59</scheme><url xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/></readDatabase><usedQuota>0</usedQuota><userAttributes><entries><key>taxonomy</key><value><entries><key>types</key><value>test.test.net,cloudeu.test.test.net</value></entries></value></entries></userAttributes><writeDatabase><currentUnits xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><driver xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><id>2</id><login xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><master xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><masterId xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><maxUnits xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><name xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><password xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolHardLimit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolInitial xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><poolMax xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><read_id xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><scheme>db_1_write_59</scheme><url xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/></writeDatabase><gabMode xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns2:customid xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns2:extensionError xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns2:owner><ns3:name>test.test.net</ns3:name><ns3:passwordMech xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:password xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:parentId xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:displayname xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:id xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:configuration xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/><ns3:configurationToAdd xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:nil=\"true\"/></ns2:owner><ns2:sid>0</ns2:sid></ns4:return></ns4:listAllResponse></soap:Body></soap:Envelope>",
  "parsedXml": {
    "soap:Envelope": {
      "$": {
        "xmlns:soap": "http://schemas.xmlsoap.org/soap/envelope/"
      },
      "soap:Body": [
        {
          "ns4:listAllResponse": [
            {
              "$": {
                "xmlns": "http://dataobjects.soap.admin.testtest.com/xsd",
                "xmlns:ns2": "http://dataobjects.soap.reseller.admin.testtest.com/xsd",
                "xmlns:ns3": "http://dataobjects.rmi.reseller.admin.testtest.com/xsd",
                "xmlns:ns4": "http://soap.reseller.admin.testtest.com",
                "xmlns:ns5": "http://dataobjects.rmi.admin.testtest.com/xsd",
                "xmlns:ns6": "http://exceptions.rmi.admin.testtest.com/xsd",
                "xmlns:ns7": "http://rmi.java/xsd"
              },
              "ns4:return": [
                {
                  "average_size": [
                    "200"
                  ],
                  "enabled": [
                    "true"
                  ],
                  "filestoreId": [
                    "7200000"
                  ],
                  "filestore_name": [
                    "146_ctx_store"
                  ],
                  "id": [
                    "92000000"
                  ],
                  "loginMappings": [
                    "test.test.net",
                    "test.test.net_test.test.net",
                    "88888888"
                  ],
                  "maxQuota": [
                    "1000"
                  ],
                  "name": [
                    "test.test.net_test.test.net"
                  ],
                  "readDatabase": [
                    {
                      "currentUnits": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "driver": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "id": [
                        "4"
                      ],
                      "login": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "master": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "masterId": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "maxUnits": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "name": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "password": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolHardLimit": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolInitial": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolMax": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "read_id": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "scheme": [
                        "db_1_write_59"
                      ],
                      "url": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ]
                    }
                  ],
                  "usedQuota": [
                    "0"
                  ],
                  "userAttributes": [
                    {
                      "entries": [
                        {
                          "key": [
                            "taxonomy"
                          ],
                          "value": [
                            {
                              "entries": [
                                {
                                  "key": [
                                    "types"
                                  ],
                                  "value": [
                                    "test.test.net,cloudeu.test.test.net"
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "writeDatabase": [
                    {
                      "currentUnits": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "driver": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "id": [
                        "2"
                      ],
                      "login": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "master": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "masterId": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "maxUnits": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "name": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "password": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolHardLimit": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolInitial": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "poolMax": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "read_id": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "scheme": [
                        "db_1_write_59"
                      ],
                      "url": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ]
                    }
                  ],
                  "gabMode": [
                    {
                      "$": {
                        "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                        "xsi:nil": "true"
                      }
                    }
                  ],
                  "ns2:customid": [
                    {
                      "$": {
                        "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                        "xsi:nil": "true"
                      }
                    }
                  ],
                  "ns2:extensionError": [
                    {
                      "$": {
                        "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                        "xsi:nil": "true"
                      }
                    }
                  ],
                  "ns2:owner": [
                    {
                      "ns3:name": [
                        "test.test.net"
                      ],
                      "ns3:passwordMech": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:password": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:parentId": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:displayname": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:id": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:configuration": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ],
                      "ns3:configurationToAdd": [
                        {
                          "$": {
                            "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                            "xsi:nil": "true"
                          }
                        }
                      ]
                    }
                  ],
                  "ns2:sid": [
                    "0"
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  }
}

Hey @dev-engineer! Where would you like to use this data?

Following your nested data, this is the JS required to get to an object where each key is 'average_size', 'enabled' & 'filestoreId'. You'd replace data_return in my example with your_query.data.

You can throw this code into a query transformer (directly attached to your SOAP API query) and just reference data.

return _.pick(data_return.parsedXml['soap:Envelope']['soap:Body'][0]['ns4:listAllResponse'][0]['ns4:return'][0], ['average_size', 'enabled','filestoreId'])

My favorite way to figure out how to grab the correct selectors to unnest data is to paste the data into a JSON explorer component. You can easily collapse/expand each key to follow the trail :slight_smile:

Let me know if you have any questions at all!

Perfect, thank you!

1 Like