Skip to Content
0
Dec 28, 2021 at 05:19 PM

SOAP webservice: changing status code?

568 Views Last edit Dec 31, 2021 at 12:01 PM 3 rev

Hi.

We're developing a SOAP(ish) webservice in which the other party is asking that we modify the HTTP status code depending on the result of the operation, for example:

  • 200: the operation was carried out successfully
  • 500: the operation failed, for a number of reasons

As far as my understanding goes, this does not really make sense in the context of SOAP: the conversation happens via XML files and whatever message we have should be sent as a node within that file! In all cases, when the XML text is sent back correctly, the status code will always be 200, regardless of the underlying operation.

However, we managed to force the status code in a rather brutal way: MESSAGE 'some explanation' TYPE 'E' RAISING ZEXCEPTION. Actually, the key step is type E, the exception is ignored.

The outcome, as seen from SoapUI, is the following:

immagine-2021-12-31-125955.png

Good: 500 can be set

Bad: "some explanation" is not visible to the caller (perhaps in the SOAMANAGER logs but that's not enough).

I'm afraid I know the answer but.... trying anyway: is it at all possible, within the custom code which carries out the operation, to have an exception or error message of some sort which is then escalated through ICF in a way that is visible to the caller?

Attachments