Apache Camel CXF set Транспортные свойства - PullRequest
0 голосов
/ 11 февраля 2020

Я борюсь с компонентом Camel SXF. Мне нужно, чтобы не использовал чанкованное кодирование, но я не могу найти правильный способ установки параметра.

Согласно Apache CXF Docs (http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html) должен быть параметр с именем «AllowChunking», но мне не повезло при попытке его использовать. Я пробовал это

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

и это

    @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;
    }

Кто-нибудь может мне помочь? Большое спасибо:)

Использование Camel 3.0.1

1 Ответ

1 голос
/ 12 февраля 2020

Попробуйте использовать CxfEndpointConfigurer следующим образом:

  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) {

        }
    });

И всегда указывайте версию своего верблюда

...