Websphere HttpClient java.lang.NoSuchMethodError:org / apache / http / conn / ssl / SSLSocketFactory。<init> </init>

时间:2014-10-28 10:16:15

标签: websphere apache-httpclient-4.x

我有一个需要部署到Websphere 8.5的webapp(它在tomcat 7中运行正常)。这个应用程序调用另一个应用程序的REST Web服务,并使用HttpClient。当我启动应用程序时,我收到以下错误:

Caused by: java.lang.NoSuchMethodError: org/apache/http/conn/ssl/SSLSocketFactory.<init>(Ljavax/net/ssl/SSLContext;Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V
        at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.initDefaultEngine(ResteasyClientBuilder.java:418)
        at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:333)
        at org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder.build(ResteasyClientBuilder.java:49)
        at javax.ws.rs.client.ClientBuilder.newClient(ClientBuilder.java:114)
        at com.qmino.matrix.calculation.engine.EngineInstance.<init>(EngineInstance.java:23)
        at com.qmino.matrix.calculation.engine.CalculationEngine.<init>(CalculationEngine.java:61)
        at com.qmino.matrix.calculation.engine.ThreadPool.<init>(ThreadPool.java:29)
        at com.qmino.matrix.calculation.engine.application.Application.getThreadPool(Application.java:53)
        at com.qmino.matrix.calculation.engine.application.Application$$EnhancerBySpringCGLIB$$57778e16.CGLIB$getThreadPool$0(<generated>)
        at com.qmino.matrix.calculation.engine.application.Application$$EnhancerBySpringCGLIB$$57778e16$$FastClassBySpringCGLIB$$d67ab8c2.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
        at com.qmino.matrix.calculation.engine.application.Application$$EnhancerBySpringCGLIB$$57778e16.getThreadPool(<generated>)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
        ... 120 more

我找到了this question,但它并没有真正有用。有人可以帮我吗?

1 个答案:

答案 0 :(得分:4)

Httpclient库与WebSphere提供的冲突。请尝试通过Environment > Shared libraries创建隔离的共享库,将http客户端jar放在那里并将该库映射到应用程序。请参阅此帖WebSphere 8.5 and Apache HTTP Client

中的详细信息