Forum Discussion

md_zoran's avatar
md_zoran
Occasional Contributor
7 years ago

Replying with multiple responses to a single SOAP request

Hello,

I am investigating SoapUI for a project where we have to mock a customer SAP that will communicate with our systems using SOAP messages. The generic task that we have to solve is this :

 

- a MockService receives a request, processes some data from the request and depending on the data we have to send back a certain number of responses which are a subset of  the total number of responses. Let's say we have responses from A to Z. Depending on the data from the request, we will :

- issue Response A with a part of the data from request 1

- issue Response D with a part of the data from request 1

- issue Response F with a part of the data from request 1

- issue Response S with a part of the data from request 1

etc.


I have seen it asked but not actually answered here : https://community.smartbear.com/t5/SoapUI-Open-Source/Multiple-Response-with-Mock-Service/td-p/8900

 

This was a long time ago and I want to know if there is any solution to this, either using SoapUI or any other SmartBear product.

 

It would be prefferable if this can be done from Groovy / Javascript within the SoapUI user interface but I am open to any sugestions including using SoapUI JARs to build code on top of them (although as a last resort).

 

Thanks,

Zoran

 

2 Replies

  • jhanzeb1's avatar
    jhanzeb1
    Frequent Contributor

    Hi Zoran,

     

    Did you find out a way of doing this? I am looking to do the same using ServiceV in ReadyAPI

    • AlexKaras's avatar
      AlexKaras
      Champion Level 3

      Hi,

       

      This is not possible as HTTP is one-to-one protocol, i.e. one request must be followed by only one response.

      While RFC 2616 mentiones http status 100 (continue), the same paper clarifies that clients must be prepared to receive status 100 and handle it appropriately (which means either sending subsequent requests or some other processing on the client).