We have several application that are configured to connect to a webservice
interface for our server.
Naturally, it happens that this connection is sometimes configured
incorrectly or maybe the server is down etc
Unfortunately, this gives very bad and hard to read errors in the logs!

For instance, if the wrong http authorization has been set, the following
exception will typically be generated:
org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:221)
...
Caused by: java.io.IOException: Server returned HTTP response code: 403 for
URL: ...
at sun.reflect.GeneratedConstructorAccessor43.newInstance(Unknown Source)
...
Caused by: java.io.IOException: Server returned HTTP response code: 403 for
URL: ...
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1170)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1904)
... 33 more
(furthermore this is logged inside the MessageSenderInterceptor, is there
any way to turn this off?)

How can we make this a bit more "user friendly"?

I would like to catch at least the following situations and give an
application generated error message:
- Incorrect authorization
- Server unavailable/wrong address
etc

Also, is there any nice and reliable way to "ping" a webservice server via
CXF, without having to call a proper webservice function?

Thanks for any help!


-- 
Kent Närling

System Architect
SEAMLESS
Dalagatan 100, 8 tr, 113 43 Stockholm, Sweden
Phone: +46 8 5648 7800, fax: +46 8 5648 7823
Mobile: +46 70 836 9925
Mail: [EMAIL PROTECTED]
www.seamless.se

Reply via email to