Interesting enough, I have changed the JDK from 1.5.0_06 to 1.6.0_10 and it works OK now, this is, the WS Client, gets the SOAP Fault.
I removed the dependent libraries according to the WHICH_JARS file in CXF 2.1.3, recompiled, had Tomcat running with 1.6 and voila, it runs as expected. juan.velez wrote: > > I have created a CXF WS Provider that returns a SOAP Fault when some > condition occurs. The WSDL does NOT declare the SOAP Fault. When I use > SOAP UI to test the WS Provider and the condition occurs, I DO get the > SOAP Fault along with the HTTP 500 error: > > HTTP/1.1 500 Internal Server Error > Date: Tue, 28 Oct 2008 02:27:38 GMT > Content-Length: 199 > Connection: close > Content-Type: text/xml;charset=UTF-8 > Server: Apache-Coyote/1.1 > > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body> > <soap:Fault> > <faultcode>soap:Client</faultcode> > <faultstring>Juan</faultstring> > </soap:Fault> > </soap:Body> > </soap:Envelope> > > However, when I create a CXF WS Client off the WSDL and execute it > against the CXF WS Provider, I only get an IOException > > Oct 27, 2008 7:25:35 PM org.apache.cxf.phase.PhaseInterceptorChain > doIntercept > INFO: Interceptor has thrown exception, unwinding now > 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) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:177) > at $Proxy28.processExport(Unknown Source) > at com.areva.mmi.wsdl.MMIService.main(MMIService.java:97) > Caused by: java.io.IOException: Server returned HTTP response code: 500 > for URL: http://localhost:8080/mmi/export > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at > sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1202) > at java.security.AccessController.doPrivileged(Native Method) > at > sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1196) > at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:885) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1933) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824) > at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47) > at > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) > at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > ... 7 more > Caused by: java.io.IOException: Server returned HTTP response code: 500 > for URL: http://localhost:8080/mmi/export > at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1149) > at > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1896) > ... 13 more > javax.xml.ws.soap.SOAPFaultException: Could not send Message. > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:218) > at $Proxy28.processExport(Unknown Source) > at com.areva.mmi.wsdl.MMIService.main(MMIService.java:97) > Caused by: 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) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276) > at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222) > at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) > at > org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:177) > ... 2 more > Caused by: java.io.IOException: Server returned HTTP response code: 500 > for URL: http://localhost:8080/mmi/export > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at > sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1202) > at java.security.AccessController.doPrivileged(Native Method) > at > sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1196) > at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:885) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1933) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1824) > at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47) > at > org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:159) > at > org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) > at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:583) > at > org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) > ... 7 more > Caused by: java.io.IOException: Server returned HTTP response code: 500 > for URL: http://localhost:8080/mmi/export > at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1149) > at > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367) > at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1896) > ... 13 more > > > instead of the actual SOAP Fault Exception. What am I doing wrong? > > Thanks, > > Juan > -- View this message in context: http://www.nabble.com/SOAP-Fault-not-being-received-by-CXF-WS-Client-tp20200422p20228907.html Sent from the cxf-user mailing list archive at Nabble.com.
