简体   繁体   中英

java.lang.NoClassDefFoundError :-Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory

I'm working on a Spring webservice(SpringWSTemplate) and I am trying to override org.springframework.ws.transport.http.HttpComponentsMessageSender and I have a code like below:

public class CustomHttpComponentsMessageSender extends
org.springframework.ws.transport.http.HttpComponentsMessageSender {
@Override
public WebServiceConnection createConnection(URI uri) throws IOException {

CookieStore cookieStore = new BasicCookieStore();
HttpComponentsConnection conn = (HttpComponentsConnection) super
.createConnection(uri);
HttpClientBuilder httpClientBuilder=HttpClientBuilder.create();
HttpClient httpclient = httpClientBuilder.setDefaultCookieStore(cookieStore).build();
HttpPost httpGet = new HttpPost(uri);
HttpResponse response = httpclient.execute(httpGet);
return conn;
}

}

When the code execution reaches line : HttpClient httpclient = httpClientBuilder.setDefaultCookieStore(cookieStore).build();

I get the following exception

INFO   | jvm 1    | main    | 2015/03/12 14:48:41.707 | Mar 12, 2015 2:48:41 PM org.apache.catalina.core.StandardWrapperValve invoke
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.709 | SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory] with root cause
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.709 | java.lang.NoClassDefFoundError: Could not initialize class org.apache.http.impl.conn.ManagedHttpClientConnectionFactory
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:726)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at com.utas.integrations.documentum.webservices.impl.CustomHttpComponentsMessageSender.createConnection(CustomHttpComponentsMessageSender.java:30)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.support.WebServiceAccessor.createConnection(WebServiceAccessor.java:107)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:535)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:386)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:380)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:372)
INFO   | jvm 1    | main    | 2015/03/12 14:48:41.710 |     at 

I use the jars in my build path and I have entries of jars in my classpath.

<classpathentry kind="lib" path="lib/httpclient-4.3.3.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.1.3.jar"/>
<classpathentry kind="lib" path="/sapadtreco/lib/httpmime-4.3.1.jar"/>
<classpathentry kind="lib" path="lib/spring-ws-core-2.1.4.RELEASE.jar"/>
<classpathentry kind="lib" path="lib/fluent-hc-4.3.jar"/>

Quick help is greately appreciated.

It could be due to the invalid/corrupt/missing httpclient-4.3.3.jar file in the class path. Try exploding this file and check if its valid and contains the ManagedHttpClientConnectionFactory class inside it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM