Skip to Main Content

Integration

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error handling of BS returning a soap fault (once again)

GeertsP-JavaNetNov 25 2010 — edited Nov 26 2010
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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 24 2010
Added on Nov 25 2010
9 comments
1,391 views