Error handling of BS returning a soap fault (once again)
Hi,
I experience a problem that has been touched upon many times over but reading through them doesn't help
me further in solving my problem.
It concerns the handling of a BS return call in case it returns a soap fault.
I route to this BS (soap call) and have an error handler attached to this.
When the BS generates a fault I make the following observations:
- in the output of the route activity the $body contains what the BS actually returns (a soap fault in this case)
- for some reason it seems that $fault doesn't contain this. It seems to contain the following:
$fault: <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>BEA-380001</con:errorCode>
<con:reason>Internal Server Error</con:reason>
<con:location>
<con:node>RouteGetMedicalfile</con:node>
<con:path>response-pipeline</con:path>
</con:location>
</con:fault>
In the corresponding error handler I try to log things, try to overrule the $fault/errorCode with my own custom setting,
replace the $body/* with $fault and reply with a failure.
From earlier discussions I got the impression that this would bypass execution of the system error handler. However in my current implementations this runs nonetheless and generates the following:
<con:fault xmlns:con="http://www.bea.com/wli/sb/context">
<con:errorCode>BEA-382000</con:errorCode>
<con:reason>Attempt to re-bind prefix v1</con:reason>
<con:location>
<con:node>RouteGetMedicalfile</con:node>
<con:pipeline>
_onErrorHandler-2788926100827624328--52e2a71b.12c123466e2.-68c1
</con:pipeline>
<con:path>response-pipeline</con:path>
<con:error-handler>true</con:error-handler>
</con:location>
</con:fault>
So it actually runs and attaches an error message which is an complete mystery to me as to what it means. The end result
is that the service invoker is confronted with an uncomprehensible message that has nothing to do with what actually went wrong.
Hope someone can shed some more light on this
Thanks
Peter Geerts
Edited by: user13057367 on 25-nov-2010 6:31