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.

Reply via email to