4

我是网络服务的新手。我正在尝试调用服务,但出现以下错误。根据我最初的谷歌搜索,这似乎是一个可能由重复 jar 引起的加载程序问题,但我无法找到导致此问题的原因。很感谢任何形式的帮助。

Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/classloader/spi/base/BaseClassLoader) previously initiated loading for a different type with name "javax/xml/soap/SOAPMessage"
    at org.apache.cxf.jaxws.support.JaxWsEndpointImpl.<init>(JaxWsEndpointImpl.java:126)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.createEndpoint(JaxWsServiceFactoryBean.java:208)
    at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.createEndpoints(ReflectionServiceFactoryBean.java:366)
    at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:297)
    at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.create(JaxWsServiceFactoryBean.java:178)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:100)
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:51)
    at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
    at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
    at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:437)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:316)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:303)
    at javax.xml.ws.Service.getPort(Service.java:92)
4

2 回答 2

1

解决我的问题的是我的项目中重复的 saaj.jar。

于 2013-06-21T15:05:02.297 回答
0

LinkageError 是 JBoss 通常是由您的应用程序打包自己的 JBoss 认为受限的某些库的副本引起的。这些通常是 java.* 和 javax.* 包中的东西。

尝试添加 cxf-rt-frontend-jaxws 和 cxf-bundle-rs 作为依赖项,并标记一些排除项 -> jetty-server、gernomino-servlet。

还要检查 beans.xml 是否应该在类路径下,而不是 WEB-INF。

于 2013-06-17T16:33:47.587 回答