![](/img/trans.png)
[英]java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory
[英]java.lang.NoSuchMethodError: org/apache/http/conn/scheme/Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
我正在尝试通过使用HttpComponentsMessageSender在Spring WebServiceTemplate中设置ConnectionTimeout和ReadTimeout 。 但是,我正在为SchemeSocketFactory类获取NoSuchMethodError 。
<bean
class="org.springframework.ws.transport.http.HttpComponentsMessageSender"
id="timeoutId">
<property name="connectionTimeout" value="3000" />
<property name="readTimeout" value="3000" />
</bean>
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.ws.transport.http.HttpComponentsMessageSender]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org/apache/http/conn/scheme/Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
... 65 more
Caused by: java.lang.NoSuchMethodError: org/apache/http/conn/scheme/Scheme.<init>(Ljava/lang/String;ILorg/apache/http/conn/scheme/SchemeSocketFactory;)V
at org.apache.http.impl.conn.SchemeRegistryFactory.createDefault(SchemeRegistryFactory.java:51)
at org.apache.http.impl.conn.PoolingClientConnectionManager.<init>(PoolingClientConnectionManager.java:96)
at org.springframework.ws.transport.http.HttpComponentsMessageSender.<init>(HttpComponentsMessageSender.java:77)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:80)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:57)
at java.lang.reflect.Constructor.newInstance(Constructor.java:539)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
... 67 more
我认为修订包升级将为您解决此问题。 WebSphere拥有Apache HTTP客户端的内部副本(由其JAX-RS实现使用),在修订包8.5.5.9之前,该版本对安装的应用程序可见。 如果要在此之前在修订包上使用自己的副本,则需要利用PARENT_LAST类加载器委托或隔离的共享库,以确保该类加载器加载您自己的Apache HTTP副本而不是WebSphere的副本。
NoSuchMethodError指示运行时可用的类与用于编译代码的类不同。
通常可以归结为在类路径上具有同一类的多个版本。 仔细检查该类是否存在问题,并删除不需要的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.