Hi,

I have run into an issue where the HTTP response message is being truncated
to the exactly length of the incoming CXF request, i.e.
response.contentLength seems to be being set to the request.contentLength,

I have  the following setup:

   1. I am advertising a WSDL file via a CXF endpoint.
   2. The route is from CXF to a back end WS via the HTTP component.
   3. The backend service is a Tuscany SCA component, invoked via SOAP over
   HTTP.


The Camel/CXF interceptor logging shows the entire message payload. Also,
calling the backend service (3) directly using SOAPui functions correctly

If I start adding characters to the request just to make it longer, e.g.
just after </soapenv:Body>,  but it doesn't matter where,  then for each
character I add I see an additional character of the response that otherwise
gets truncated.

Versions:
Camel 2.1.0
CXF 2.2.6 (tried 2.2.4 also )
Tuscany 1.6  (tried 1.5.1 also )
Java 1.6
MacOSX 10.6





The config is (lightly edited):

    <cxf:cxfEndpoint id="ServiceEndpoint"
                     address="http://localhost:8080/services/Service";
                     wsdlURL="file:service.wsdl"
                     serviceName="a:Service"
                     endpointName="a:ServicePort"
                     xmlns:a="http://a.com";>
    </cxf:cxfEndpoint>

    <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring
">

        <route>
            <from uri="cxf:bean:ServiceEndpoint"/>
            <to uri="http://localhost:8086/services/Service"/>
        </route>


    </camelContext>


I have also tried specifying the 'bridgeEndpoint=true' option to the HTTP
component URI thinking that may help, but the problem is still the same.

Should I explicitly be fixing up the content length? if so how do I do that?


All the best
Wayne

Reply via email to