Manoj S
Manoj S

Reputation: 21

How to use httpClient to 4.3 in Spring WS 2.14?

With Httpclient 3 my Spring bean definition was

<bean id="messageSender"
class="org.springframework.ws.transport.http.CommonsHttpMessageSender">
<constructor-arg>
    <bean class="org.apache.commons.httpclient.HttpClient">
        <constructor-arg>
            <bean
                class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager">
                <property name="params">
                    <bean
                        class="org.apache.commons.httpclient.params.HttpConnectionManagerParams">
                        <property name="defaultMaxConnectionsPerHost" value="XX" />
                        <property name="maxTotalConnections" value="XX" />
                        <property name="staleCheckingEnabled" value="false" />
                        <property name="tcpNoDelay" value="false" />
                        <property name="soTimeout" value="XXXXX" />
                        <property name="connectionTimeout"
                            value="XXXX" />
                    </bean>
                </property>
            </bean>
        </constructor-arg>
    </bean>
</constructor-arg>

I want a similar bean configuration with the httpclient 4.3 classes.

Upvotes: 1

Views: 2169

Answers (1)

evandongen
evandongen

Reputation: 2065

I needed NTLMv2 authentication on my connection and I was able to succesfully use 4.x by configuring spring with the classes attached to this issue: https://jira.spring.io/browse/SWS-563

Here's a piece of my @Configuration:

@Bean public WebServiceTemplate webserviceTemplate() {
    WebServiceTemplate webserviceTemplate = new WebServiceTemplate();
    webserviceTemplate.setMessageSender(messageSender());

    return webserviceTemplate;
}

@Bean public WebServiceMessageSender messageSender() {
    HttpClientMessageSender messageSender = new HttpClientMessageSender();

    // do 4.x specific configuration

    return messageSender;
}

Upvotes: 1

Related Questions