Not sure what could be the issue..... Hmm.... What version of CXF and what JDK version are you using?
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnectio >n.java:885) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons >e(HTTPConduit.java:1933 Those frames kind of concern me. If the response code is 500, then getErrorStream() should return non-null (since there is fault data) and thus getInputStream() should not be called at all. Is there some sort of proxy or something that could be truncating the response? Dan On Monday 27 October 2008 10:28:54 pm 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$MessageSenderEndingInte >rceptor.handleMessage(MessageSenderInterceptor.java:64) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai >n.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(NativeConstructorAcce >ssorImpl.java:39) at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru >ctorAccessorImpl.java:27) at > java.lang.reflect.Constructor.newInstance(Constructor.java:494) at > sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:12 >02) at java.security.AccessController.doPrivileged(Native Method) > at > sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConn >ection.java:1196) at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnectio >n.java:885) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons >e(HTTPConduit.java:1933) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon >duit.java:1824) at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputSt >ream.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$MessageSenderEndingInte >rceptor.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(HttpURLConnectio >n.java:1149) at > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons >e(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$MessageSenderEndingInte >rceptor.handleMessage(MessageSenderInterceptor.java:64) at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai >n.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(NativeConstructorAcce >ssorImpl.java:39) at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru >ctorAccessorImpl.java:27) at > java.lang.reflect.Constructor.newInstance(Constructor.java:494) at > sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:12 >02) at java.security.AccessController.doPrivileged(Native Method) > at > sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConn >ection.java:1196) at > sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnectio >n.java:885) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons >e(HTTPConduit.java:1933) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon >duit.java:1824) at > org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputSt >ream.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$MessageSenderEndingInte >rceptor.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(HttpURLConnectio >n.java:1149) at > java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367) at > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespons >e(HTTPConduit.java:1896) ... 13 more > > > instead of the actual SOAP Fault Exception. What am I doing wrong? > > Thanks, > > Juan -- Daniel Kulp [EMAIL PROTECTED] http://dankulp.com/blog
