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:
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:
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?