Catching and displaying SOAP fault in web-service call


I have a service activity with boundary error event attached. If technical or business error occurs, web-service throws exception and returns SOAP fault. I'd like to display that SOAP fault on user activity that follows after boundary error event.

How to do that?

I've read and experimented thoroughly with error handling as described here:

However, problems are:

1. There aren't any error attributes in my response data (simply because web-service throws exceptions, and does not store any error, technical or business, in result object). Workflow does get rerouted properly on boundary error, but I don't know how to store error (in SOAP fault format) and display it on subsequent user activity.

2. When I made test web-service that does have error attributes (as BlackList915Result in Bizagi docs linked above), I simply couldn't get boundary error event to work properly because checking on those attributes never triggered boundary error event.

So, is it possible to do error handling as I describe, by checking SOAP fault? If not, what am I missing when configuring error handling as in problem 2?

You can see slice of process model and steps 3 of web-service wizard in this post's attachment.

(Yes, everything is in Croatian but I hope that big picture will be understandable.)

Best regards!

Comments (2)


Dear Slaven,

Regarding your question, there is no a way to save the error message. That´s why there is an exception.

But, if you receive the message through the answer of the web service, you can add a gateway to evaluate the message. It is different because it can be considered as a functional implementation.



Well, if I can up vote some proposal for functionality, that would definitely be it: Allow error checking in Bizagi web-service call to check for SOAP Fault, and not just for attributes in response object that are merely wrapper around business error.

A lot of web-services return either valid objects or SOAP Faults for both technical or business error, and simply do not have the attributes for business error description

Anyway, thank you very much for your response!