-
1. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
osltops Mar 8, 2013 9:09 AM (in response to osltops)I found the answer to my own question...
The reason why the exception was not caught it because the exception is not under java.lang.Exception but under java.lang.Error (both superseeded by java.lang.Throwable).
Indeed, and for some very murky reasons, the exception return by my CXF client when I try to call a web service on a server which is down, is "java.lang.LinkageError: javax/xml/soap/SOAPFault"
So if I add the following catch in my processor I do catch the error:
} catch (LinkageError le) {
This is a bit risky because such high level exception usually mean that something really wrong is going on in the code.
-
2. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
ffang Mar 10, 2013 9:17 PM (in response to osltops)Hi,
java.lang.LinkageError: javax/xml/soap/SOAPFault generally means you have two copys of javax/xml/soap/SOAPFault from your container, it's probably from different bundles.
Could you use
packages:exports |grep javax.xml.soap
to see which bundle export this package? It should be only from system bundle 0.
You probably also need check if your customer bundle embed saaj-api jar, it shouldn't be there
Freeman
-
3. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
osltops Mar 11, 2013 5:37 AM (in response to ffang)Thanks Freeman, you are completely correct
But what I do not understand is that is javax.xml.soap in 2 bundles:
0 javax.xml.soap; version=0.0.0
147 javax.xml.soap; version=1.3.0
And both are system bundles!
How can that be?
147 is this one:
osgi:info 147
You are about to access system bundle 147. Do you wish to continue (yes/no): yes
Apache ServiceMix :: Specs :: SAAJ API 1.3 (147)
Isn't FuseESB packaged so that the same package is not present in 2 bundles?
-
4. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
ffang Mar 11, 2013 6:22 AM (in response to osltops)Hi,
This is something we've fixed for quite a while, what's the exact FUSE ESB version you're using?
Freeman
-
5. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
osltops Mar 11, 2013 6:23 AM (in response to osltops)Looks like the problem is corrected in FuseESB-7.1
-
6. Re: Catching org.apache.cxf.interceptor.Fault: Connection refused
osltops Mar 11, 2013 6:25 AM (in response to ffang)I am using fuse-esb-7.0.0.fuse-061.
It works now if I stop bundle 147.