Integration

Get Involved. Join the Conversation.

Topic

    Janardhan Kothapalli
    Response variable not found on the database
    Topic posted March 26, 2018 by Janardhan KothapalliGold Medal: 3,500+ Points, last edited March 27, 2018 by Arijit ChakrabortyBronze Trophy: 5,000+ Points, tagged Database, Integration 
    64 Views, 12 Comments
    Title:
    Response variable not found on the database
    Summary:
    Response variable not found on the database
    Content:

    Hi Team,

     

    I'm facing an issue while developing an integration.

    where as integration monitoring, the value is provided. the same one is mapped to other connection request, for this throwing an error stated: Variable not found on the database.

    Please find attachment of  integration flow for reference. I will share the iar if required.

    Thanks in advance.

    Comment

    • Janardhan Kothapalli

      Hi Kishore,

      Please find the attachment for the IAR file. We are using ICS Version: 18.1.3.0.0.

    • Janardhan Kothapalli

      PFA for iar file. Thanks.

    • Janardhan Kothapalli

      Hi Kishore,

      PFA for the soapUI xml for testing for the integration with input data for reference.

      Thnaks.

    • Janardhan Kothapalli

      Hi Hemanth,

      I have developed two integrations:

      1) xml to json conversion

      2) to invoke the target system

      PFA for the second integration (SN_TEST_INTDEMO  - to invoke the target system).

      Now in the current integration I'm invoking the directly the target REST Shipment_connection.

      pastedImage_1.png

      The below mentioned is test url provided output json values:

      https://icstest-a432685.integration.em2.oraclecloud.com/integration/flowapi/rest/SN_TEST_INTDEMO/v01/?options={%22Labels%22:%22PNG%22}&data={%20%22Kind%22:%20%221%22,%20%22ActorCSID%22:%20%2263%22,%20%22ProdConceptID%22:%20%22113%22,%20%22Addresses%22:%20[%20{%20%22Kind%22:%202,%20%22Name1%22:%20%22Test%20sender%22,%20%22Street1%22:%20%22Test%20Address%22,%20%22PostCode%22:%206400,%20%22City%22:%20%22S%C3%B8nderborg%22,%20%22Phone%22:%20%22s23249480%22,%20%22Mobile%22:%204799999999,%20%22Attention%22:%20%22test%22,%20%22CountryCode%22:%20%22DK%22%20},%20{%20%22Kind%22:%201,%20%22Name1%22:%20%22John%20Doe%22,%20%22Street1%22:%20%22Test%20address%201%22,%20%22PostCode%22:%206400,%20%22City%22:%20%22S%C3%B8nderborg%22,%20%22Phone%22:%20null,%20%22Mobile%22:%20null,%20%22Attention%22:%20null,%20%22CountryCode%22:%20%22DK%22%20}%20],%20%22Lines%22:%20[%20{%20%22PkgWeight%22:%205000,%20%22GoodsTypeKey1%22:%20%22A%22,%20%22Pkgs%22:%20[%20{%20%22ItemNo%22:%201%20},%20{%20%22ItemNo%22:%202%20}%20]%20},%20{%20%22PkgWeight%22:%200,%20%22GoodsTypeKey1%22:%20%22key%22,%20%22Pkgs%22:%20[%20{%20%22ItemNo%22:%200%20},%20{%20%22ItemNo%22:%200%20}%20]%20}%20]%20}&actor=63&key=sample&command=SubmitShipment

      OTUPUT:

      ------------

      pastedImage_6.png

    • Janardhan Kothapalli

      Hi Hemanth,

      Have attached earlier the final integration Consignor_Shipment iar file( which integrating both the integration) therby I'm facing issue to invoke target system.

      I'm forward the xml to json conversion iar also for reference.

      Please help to resolve the scenario.

      Thanks,

      Janardhan

    • Janardhan Kothapalli

      For reference,

      XmltoJson -> SN_TEST_INTDEMO [invoke target system using REST(GET) -> REST(POST) ]

      Now, Consignor_Shipment integration [xmltoJSOn_Connection ->maps to  REST(POST) directly invoking target system]

      Thanks,

      Janardhan

    • Kishore Gollapalli

      Hi

      From the error message it appears like Label is missing and rest endpoint is returning you a failure. Make sure query parameters  name matches as expected by the endpoint. Can you check if the same payload works from SOAP ui or any other client.

    • Hemanth Lakkaraju
      
      

      the same one is mapped to other connection request, for this throwing an error stated: Variable not found on the database.

      The error seems to be some REST Endpoint. Can you try calling the rest endpoint directly from postman/soapui with same payload and see if it works?

    • Hemanth Lakkaraju

      Hi

      Thanks for all the flows but sharing these can't help us to troubleshoot the issue because there is no connection information. My ask is simple - Whatever data is being passed in Consignor_Shipment flow to the target rest endpoint (that shows data failure), can you test the same data to target endpoint and verify if it works.

      I see you used a basic map my data to test the target endpoint (not sure why you did it though, when you could have directly called the endpoint from SoapUI/Postman).

      Is the data sent to basic map my data flow to test SAME as the one in Consignor_Shipment flow?

      The only difference I can see, the orch flow is using a transformation call from xml to json while the map my data flow is a direct json test. So there could be a transformation issue in the data that is causing the orch to return error response.

    • Janardhan Kothapalli

      Hi Hemanth,

      I have tested the same input over the Rest client, please refer the screenshot attached.

      Yes, the same data will be passed for Consignor_Shipment flow also.

      Initially I have considered to invoke the target system by having target system inputs,

      https://consignor.zendesk.com/hc/en-us/articles/115002128973-SubmitShipment

      The rest client
      wants the JSON parts as urlencoded values.

      So urlencode
      the options and data

      Then a request
      would look like this.

      options=%7B%22Labels%22%3A%22PNG%22%7D&data=%7B%0A%20%20%20%20%22Kind%22%3A%201%2C%0A%20%20%20%20%22ActorCSID%22%3A%2063%2C%0A%20%20%20%20%22ProdConceptID%22%3A%20113%2C%0A%20%20%20%20%22Addresses%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Kind%22%3A%202%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name1%22%3A%20%22Test%20sender%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Street1%22%3A%20%22Test%20Address%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22PostCode%22%3A%20%226400%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22City%22%3A%20%22S%C3%B8nderborg%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Phone%22%3A%20%2223249480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Mobile%22%3A%20%2204799999999%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Attention%22%3A%20%22test%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CountryCode%22%3A%20%22DK%22%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Kind%22%3A%201%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Name1%22%3A%20%22John%20Doe%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Street1%22%3A%20%22Test%20address%201%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Street2%22%3A%20%22Test%20address%202%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22PostCode%22%3A%20%226400%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22City%22%3A%20%22S%C3%B8nderborg%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22CountryCode%22%3A%20%22DK%22%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%2C%0A%20%20%20%20%22Lines%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22PkgWeight%22%3A%205000%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22GoodsTypeKey1%22%3A%20%22A%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%22Pkgs%22%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22ItemNo%22%3A%201%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%5D%0A%7D&actor=63&key=sample&command=SubmitShipment

      I used the https://meyerweb.com/eric/tools/dencoder/ to do the encoding part.

      ShipmentServer
      need the values as formdata or urlencoded.

      As part of invoking target system, developed the integration SN_TEST_INTDEMO

      Then did one more integration Shipment_XMLtoJSON  for conversion of xml to json.

      Now trying to use xmltojson integration to directly hit rest post (one of the connection in SN_TEST_INTDEMO).

      Hope you understood my scenario. Please let me know in case of any information required.

      Thanks,

      Janardhan

    • Janardhan Kothapalli

      please suggest how to integrate the two integrations : SHIPMENT_CONVERTXMLTOJSON and SN_TEST_INTDEMO

      Thanks,

      Janardhan

    • Janardhan Kothapalli

      Can I use directly encode-for-uri(Node), [Node: having json content  ] over the imported XSLT.

    • Janardhan Kothapalli

      Have tried the below code,

        <!--User Editing allowed BELOW this line - DO NOT DELETE THIS LINE-->

         <xsl:param name="GetXmlToJsonInput" xml:id="id_43"/>

         <xsl:template match="/" xml:id="id_15">

            <nstrgmpr:execute xml:id="id_16">

               <nstrgmpr:QueryParameters xml:id="id_25">

                  <nsmpr0:options xml:id="id_26">{%22Labels%22:%22PNG%22}</nsmpr0:options>

                  <nsmpr0:data xml:id="id_47">

                     <xsl:value-of select="fn:encode-for-uri($GetXmlToJsonInput/nssrcmpr:shipmentResponse/label)"/>

                  </nsmpr0:data>

                  <nsmpr0:actor xml:id="id_36">63</nsmpr0:actor>

                  <nsmpr0:key xml:id="id_37">sample</nsmpr0:key>

                  <nsmpr0:command xml:id="id_38">SubmitShipment</nsmpr0:command>

               </nstrgmpr:QueryParameters>

            </nstrgmpr:execute>

         </xsl:template>

      </xsl:stylesheet>

      Resulting the error stated:

      pastedImage_0.png

    • Janardhan Kothapalli

      Have placed the json response data, the expected output is provided.

      The code is as below,

        <xsl:template match="/" xml:id="id_15">

            <nstrgmpr:execute xml:id="id_16">

              <nstrgmpr:QueryParameters xml:id="id_25">

                  <nsmpr0:options xml:id="id_26">{"Labels":"PNG"}</nsmpr0:options>

                  <nsmpr0:data xml:id="id_60">

                    <xsl:value-of select="$GetXmlToJsonInput/nssrcmpr:shipmentResponse/label" xml:id="id_61"/>

                  </nsmpr0:data>

                  <nsmpr0:actor xml:id="id_36">63</nsmpr0:actor>

                  <nsmpr0:key xml:id="id_37">sample</nsmpr0:key>

                  <nsmpr0:command xml:id="id_38">SubmitShipment</nsmpr0:command>

              </nstrgmpr:QueryParameters>

            </nstrgmpr:execute>

        </xsl:template>

      Is it fine without encoding the uri, invoking the target system provides the response.

      Just want to know how the encoding is done without using any functions over the integration.

      Have used query parameters appended to the url of target system.

      Thanks for the quick update, It will be helpful let me know how the url encoded happened.

      Please find theattachment for the latest iar

    • Janardhan Kothapalli

      Thanks  a lot for the updates.