Leave feedback
  • Question

    Processing SOAP response

Enter a new topic
  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes 1854 views

    The SOAP storiy continues... Now that the connection between Strs and the remote SOAP application is well established via HTTPsend I got the request to process the SOAP response too. This response comes as XML, so I built a XMLIn project but could not catch the incomming response (I could see it in Wireshark but the project was not triggered).

    Then I integrated the HTTPIn connector and the message in the sending project because I thought the session is still open, perhaps the second Inconnector should be in the same project. No sucess.

    Using dirscan the response is processed, so the problem seems to be in the configuration of the input connector. Queueing is enabled and the URI in HTTPAccess is set to /. The other connector settings are left as standard, for the address I tried 127.0.0.1 and also blank.

    What can I do to catch the response coming from the remote server?

     

    Sunday 29 May, 2011
  • Best Answer
    Stefan Cohen Stefan Cohen StreamServe Employee Administrator
    0 likes

    You need to process the entire soap message, not just the payload. Just to make sure that the response is coming back to the response place connector, create a PageIN event that matches everything (pattern: "?") and create one field covering the entire page and either log or output the field value.

    Tuesday 31 May, 2011
  • Stefan Cohen Stefan Cohen StreamServe Employee Administrator
    0 likes

    Hi Felicitas,

    Yes, The HTTP submit config and the response config must be running in the same server instance (project) as the session (the relation between the request and the response) can not span server instances.

    In the HTTP submit connector settings, choose method=POST. In the runtime settings, configure the "Response Place Connector" setting to use your input connector (it can be any type of connector).

    See Example 36 here: http://onlinehelp.streamserve.com/5.5/en/wwhelp/wwhimpl/js/html/wwhelp .htm#href=Input%20and%20output%20connectors/HTTP%20connectors.11.07.ht ml#1059054

    Remember to enable queueing on all connectors as the HTTP functionality requires it.

     

    //S

    Sunday 29 May, 2011
  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes

    Hi Stefan,

    all connectors have queueing enabled and both messages are in the same project but different jobs now. The script before the second job is not triggered, although the SOAP application sends back an error message (see attachment).
    The event is built from the xml inside the SOAP envelope and using this as input is ok. Can it be the SOAP envelope prevents the event to recognise the pattern?

    TIA
    /Felicitas

    Tuesday 31 May, 2011

    Attached files

  • Stefan Cohen Stefan Cohen StreamServe Employee Administrator
    0 likes

    You need to process the entire soap message, not just the payload. Just to make sure that the response is coming back to the response place connector, create a PageIN event that matches everything (pattern: "?") and create one field covering the entire page and either log or output the field value.

    Tuesday 31 May, 2011
  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes

    Thank you, Stefan, the PageIn did the trick and it's working now. I couldnt't imagine to use PageIn to process an XML-like file :)

    Tuesday 31 May, 2011
  • Stefan Cohen Stefan Cohen StreamServe Employee Administrator
    0 likes

    It's a good trick to use when you are unsure about the structure of the input data. It allows you to quickly dump the response. The next step is to create an XMLIN event that matches the response.

     

    //S

    Wednesday 01 June, 2011

 

Latest from the blogs