0
votes

Im struggling with the Camel SXF Component. I need it to not use chunked encoding, but I do not find the correct way to set the Parameter.

According to the Apache CXF Docs(http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html) there should be a Parameter called "AllowChunking", but I had no luck when trying to using it. I tried this

.to("cxf:bean:pdsEndpointBean?loggingFeatureEnabled=true&properties.AllowChunking=false")

and this

    @Bean
    public CxfEndpoint pdsEndpointBean() {
        CxfEndpoint cxfEndpoint = new CxfEndpoint();
        cxfEndpoint.setAddress(endpoint);
        cxfEndpoint.setEndpointName("foo");
        cxfEndpoint.setWsdlURL("bar");
        cxfEndpoint.setServiceClass(foo);
        HashMap<String, Object> properties = new HashMap<>();
        properties.put("AllowChunking",false);
        cxfEndpoint.setProperties(properties);
        return cxfEndpoint;
    }

Can anyone help me out ? Thanks a lot :)

Using Camel 3.0.1

1

1 Answers

1
votes

Try using CxfEndpointConfigurer like this:

  cxfEndpoint.setCxfEndpointConfigurer(new CxfEndpointConfigurer() {
        @Override
        public void configure(final AbstractWSDLBasedEndpointFactory abstractWSDLBasedEndpointFactory) {

        }

        @Override
        public void configureClient(final Client client) {
            ((HTTPConduit)client.getConduit()).getClient().setAllowChunking(false);
        }

        @Override
        public void configureServer(final Server server) {

        }
    });

And always specify version of your camel