Hi,
I have a SOAP web service and both the server and the client are created with CXF. We managed to have the client and the server, but very often, we have an error in which the client complains that the content type of the response if of type text/html:

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Response was of unexpected text/html ContentType. Incoming portion of HTML stream: (none)

I used soapUI to send a request manually, and using it, the return type is of type text/xml:

HTTP/1.1 500 Internal Server Error
Date: Thu, 04 Mar 2010 08:54:22 GMT
Content-Type: text/xml; charset=utf-8
Content-Length: 383
Server: Jetty(6.1.14)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Forwarding was not done</faultstring><detail><fault xmlns:ns2="http://nvconnect.netvitesse.com/2010/02/25/DeviceControl/"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:nil="true" /></detail></soap:Fault></soap:Body></soap:Envelope>

It is a SOAP fault, but this is expected.

Do you have any idea why this may happen?

As we use HTTPS, here is how we set up the client (my service is named DeviceControl):

           JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
           factory.setServiceClass(DeviceControl.class);
           factory.setAddress(wsdlURL.toString());
           port = (DeviceControl) factory.create();
           Client client = (Client) ClientProxy.getClient(port);
HTTPConduit httpConduit = (HTTPConduit) ((org.apache.cxf.endpoint.Client) client).getConduit();
           TLSClientParameters tlsParams = new TLSClientParameters();
           tlsParams.setSecureSocketProtocol("SSL");
           tlsParams.setDisableCNCheck(true);
           tlsParams.setKeyManagers(null);
           tlsParams.setSecureRandom(null);
           tlsParams.setTrustManagers(getAllTrustingTrustManager());
           httpConduit.setTlsClientParameters(tlsParams);

The service is exposed using CXFServlet (org.apache.cxf.transport.servlet.CXFServlet).
And here is the full stack trace on client side:
Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Response was of unexpected text/html ContentType. Incoming portion of HTML stream: (none) [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:146)
    [java]     at $Proxy56.setForwarding(Unknown Source)
[java] at com.netvitesse.nvconnect._2010._02._25.devicecontrol.DeviceControl_DeviceControlSOAP_Client.main(Unknown Source) [java] Caused by: org.apache.cxf.interceptor.Fault: Response was of unexpected text/html ContentType. Incoming portion of HTML stream: (none) [java] at org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:77) [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) [java] at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:671) [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2177) [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2057) [java] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1982) [java] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) [java] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:637) [java] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [java] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:483) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:309) [java] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:261) [java] at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) [java] at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
    [java]     ... 2 more



I am stucked on this issue, I do not know how I could dig it further. Do you have any idea ?

Thanks !


Antoine

Reply via email to