Exit with signal failure - alternate? For custom SOAP Fault!!!

We are working building and providing a webservice for a end application to consume. One of the requirement is to alter the default fault message structure when responding to SOAP client if there is any validation/business error occurs.

Also that the support team requires to be noted that the flow service is failed and this gets monitored through MWS.

#1. With Exit flow signal failure - we can make the flow service visible as failed service in MWS - the custom SOAP response is over ridden with the standard or default SOAP fault response by SOAP engine!
#2. Without the exit flow signal failure - I can generate my custom response by setresponse means(thanks to the forum) but I can’t let my service visible as Failed status in MWS!

Is there a way I generate the custom soap fault and also make the service visible as failed in MWS?

any help is much appreciated!

Hi,

Even we made the service to Exit with Sucess to get the custom response .
We can ask the end application to send out the mail based on the response.
Thanks,
Amol.

Do you see that its a limitaton of soap engine ? Any tweaking of soap engine itself ? Have you got any chance to explore further with sag help ?

PRP,

We solved the problem, this way:

  1. We adopted the contract first approach. We defined the WSDL with the custom SOAP fault and imported it as the WSD. The custom SOAP fault is created as a document on the IS
  2. Outermost service (which is invoked by the WSD) calls other services (let’s call them supporting services) , which can further call other services.
    a) If the supporting service encounters a condition that is known to cause SOAP fault, set the custom SOAP fault and exit flow signaling failure
    b) If not # a above, rely on the service to throw any exception back. Do not use a try - catch block
  3. Have the outermost service implement a try catch block. In the catch block
    a) Check the pipeline if it contains custom SOAP fault (throws by 2) a. above). If it is, exit flow signaling success
    b) If there is no custom SOAP fault in the pipeline, populate it using the data about the exception from getLastError and exit signaling success
  4. When the WSD sees the custom SOAP fault in the pipeline it automatically returns the SOAP fault to the client

Hi Hargopal,

Yes that is right it will return the custom soap fault to the client .This resolves the first part of the query however it will be reflected as sucess in the MWS because we are setting the signal sucess in both the scenarios and thus will not address the second part (I can’t let my service visible as Failed status in MWS!).
Please correct me if i am wrong…Do we have any solution for this …

Thanks,
Amol.

I do feel it as a limitatiton of the webmethods.