1 Reply Latest reply on Jun 15, 2020 1:47 AM by Akanksha Rani

    How to parse json response returns from SOAP webservice without using Data Processor

    Dhinesh Kumar Guru

      We have a SOAP Webservice which returns json in one of the tag as below. We are using Informatica developer 10.4. using webservice consumer transformation to get the data and we need to parse the data now. is it possible to modify webservice consumer to parse the output (which is fixed by WSDL). Also, can we give this output to REST consumer transformation to just parse it and send the results by having some dummy URL.

      Note: we don;t have license for Data processor

       

      <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">

         <s:Body>

            <Getallmember xmlns="http://tempuri.org/">

               <Getallmemberresult>{"ResponsedSucessfully":true,"ResponseTime":"\/Date(1591708839512)\/","ResponseStatus":{"ResponseMessage":"","UpdatedSuccessfully":true},"ResponseList":[{"Number":"31663","IssuanceDate":"6/13/2019 8:32:36 AM","ExpiryDate":"6/12/2020 10:09:15 AM","TName":"abc","Members":[{"Number":"31663","Name":"cde","Role":"Microsoft.Xrm.Sdk.OptionSetValue","Share":"30.0000000000"},{"Number":"31663","Name":"uye","Role":"Microsoft.Xrm.Sdk.OptionSetValue","Share":null},{"LicenseNumber":"31663","Name":"fgt","Role":"Microsoft.Xrm.Sdk.OptionSetValue","Share":"30.0000000000"}]},{"Number":"Lic - Pro - 31661","IssuanceDate":"6/13/2019 7:15:27 AM","ExpiryDate":"6/12/2020 8:40:44 AM","TName":"covering","Members":[{"Number":"31661","Name":"xyz","Role":"Microsoft.Xrm.Sdk.OptionSetValue","Share":"100.0000000000"},]}</Getallmemberresult>

            </Getallmember>

         </s:Body>

      </s:Envelope>

        • 1. Re: How to parse json response returns from SOAP webservice without using Data Processor
          Akanksha Rani Seasoned Veteran

          Hi Dhinesh,

           

          It is not possible to achieve what you are looking for directly without a Data Processor.

           

           

          It might be achievable in the following manner but this procedure is in no way an automated solution. Also, if you are processing hundreds of similar requests, this is not at all advisable. It may work out for a couple of one-time jobs:

          A. Create a mapping with Web Service Consumer Transformation which writes `Getallmemberresult` to a flat file after parsing, such that this flat file contains only the JSON response.

          B. Using Wiremock or any other 3rd party tool, create a mock web service using the above response in a flat file. Wiremock runs on Linux servers as well. Note: You cannot deploy the flat file as a REST data service directly in IDQ as it contains the entire JSON response and not individual columns.

          C. Create another mapping with REST WSC which has the above mock service as its end point URL.

           

          Regards,

          Akanksha

          1 of 1 people found this helpful