You may just need to put an interceptor on the FaultInChain that would remap it to a full exception of some sort. If you put it late in the chain, you can probably call:
Exception f = message.getContent(Exception.class); which would probably be a CXF Fault exception class. (specifically, the SoapFault subclass) You can remap the exception to anything you want (or even throw a new RuntimeException of some sort). Dan On Tuesday 23 March 2010 3:47:24 pm SmellTheGlove wrote: > I have a customer that is using Axis. They are sending faults that are not > in the WSDL they have supplied me and that I brought into CXF. The SOAP > headers look like: > > HTTP/1.1 500 Internal Server Error > Server: Apache-Coyote/1.1 > X-Powered-By: Servlet 2.4; JBoss-4. 2.2.GA (build: SVNTag=JBoss_4_2_2_GA > date=200710221139)/Tomcat-5.5 > Content-Type: application/soap+xml; > action="http://www.w3.org/2005/08/addressing/soap/fault";charset=UTF-8 > Date: Mon, 22 Mar 2010 21:55:52 GMT > Connection: close > > <?xml version='1.0' encoding='UTF-8'?> > <soapenv:Envelope > xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> > <soapenv:Body> > <soapenv:Fault > xmlns:aovexns="urn:com.company.services.exceptions.InvalidArgumentsExceptio > n"> <soapenv:Code> > <soapenv:Value>aovexns:IA01</soapenv:Value> > </soapenv:Code> > <soapenv:Reason> > <soapenv:Text xml:lang="en-US">Invalid > arguments</soapenv:Text> > </soapenv:Reason> > <soapenv:Detail><Exception>org.apache.axis2.AxisFault: > Invalid arguments > stack > </soapenv:Detail> > </soapenv:Fault> > </soapenv:Body> > </soapenv:Envelope> > > > My code spits out: > > Mar 23, 2010 12:41:55 PM > com.sun.xml.messaging.saaj.soap.ver1_2.Fault1_2Impl > checkIfStandardFaultCode > SEVERE: SAAJ0435: {urn:com.company.services.exceptions.Exception}01 is not > a standard Code value > Exception: null class: java.lang.reflect.UndeclaredThrowableException > > > I'd like to be able to trap this fault and send something back to my code > that is meaningful that I can act on. > > Any help is greatly appreciated. > > Thanks, > > Randy -- Daniel Kulp [email protected] http://dankulp.com/blog
