When a webservice call fails due to a network failure (for example when the server is down and no connection can be made) CXF throws SoapFault with client fault code. This violates the following rule:
"The Client class of errors indicate that the message was incorrectly formed or did not contain the appropriate information in order to succeed. For example, the message could lack the proper authentication or payment information. It is generally an indication that the message should not be resent without change." (http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383510)
Exception is thrown in the following place:http://fisheye6.atlassian.com/browse/cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapOutInterceptor.java?r=920584#l285. I believe that it should be enough and safe to change "soapVersion.getSender()" in the linked code to "soapVersion.getReceiver()".