Websphere Apache axis2/axiom NoSuchMethodError

Websphere Apache axis2/axiom NoSuchMethodError,websphere,axis2,rad,nosuchmethoderror,axiom,Websphere,Axis2,Rad,Nosuchmethoderror,Axiom,将RADV7与WebSphere作为v6.1一起使用,我收到以下消息: java.lang.NoSuchMethodError:org/apache/axiom/om/OMAbstractFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory 其他答案(和)表明这是由于JAR冲突造成的。我已经安装了最新的RAD/WS fixpack,确保我只使用了axis2(v1.6.2)和axiom api(v1.2.13)的一个版本,多次清理和构

将RADV7与WebSphere作为v6.1一起使用,我收到以下消息:

java.lang.NoSuchMethodError:org/apache/axiom/om/OMAbstractFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory

其他答案(和)表明这是由于JAR冲突造成的。我已经安装了最新的RAD/WS fixpack,确保我只使用了axis2(v1.6.2)和axiom api(v1.2.13)的一个版本,多次清理和构建了我的工作区,并确保部署了正确的JAR。我还尝试将WAS类加载器策略设置为“parent last”

我的问题:除了冲突的jar版本之外,还有什么原因会导致这个问题吗

更长的错误:

WebApp E[Servlet Error]-[EOEServlet]:java.lang.NoSuchMethodError:org/apache/axiom/om/OMAbstractFactory.getMetaFactory()Lorg/apache/axiom/om/OMMetaFactory; 位于org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:150) 位于org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:133) 位于org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:104) 位于org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:590) 位于org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:575) 位于org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97) 位于org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:90) 位于org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:857) 位于org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116) 位于org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64) 位于org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:210) 位于org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:151) 位于org.apache.axis2.client.ServiceClient.(ServiceClient.java:144)


不管它值多少钱,Axiom v1.2.13确实是与Axis2 v1.6.2一起使用的正确版本

我的版本是8.5(而不是你的6.1),我很久以前就停止使用RAD Developer了(我通常可以用Eclipse做我想要/需要的任何事情)

但您可能需要查看WAS类加载器查看器,以确定您的应用程序是否实际加载了正确的。JAR:


Axis2和Axiom是7.0及以上版本以及安装了Web服务功能包的6.1版本中的WebSphere运行时的一部分。它们在WebSphere中提供JAX-WS实现,并且它们的类对应用程序可见。这会导致与打包这些库的自己版本的应用程序发生冲突。要解决这个问题,您需要将类装入器策略切换到parent last

请注意,在某些情况下,这可能不够,您需要进行一些额外的更改,如下所述:


如其他答案所述,它与web sphere axis库相冲突。使用Axis2 JAR创建共享库,并将它们与EAR works for me关联。
同意这里的大多数帖子。我们所做的是在我们的库中显式地添加axis2(1.6.2)jar并重新部署。这解决了问题。

谢谢@paulsm4,很高兴知道。我确实检查了我的installedApps目录,并验证了正在部署正确的JAR;将其设置为“parent last”,2)WAS是否仍然存在问题(如果您将RAD developer从等式中排除)?不幸的是,我暂时无法移动到其他工作区。我已尝试设置“最后一个家长”。我将用这些详细信息更新问题。请尝试一下,然后将发现的内容发回。请再看一下安德烈亚斯·韦耶引用的文章。祝你好运在安装了Web服务功能包的WebSphere概要文件上是否会发生这种情况?@Andreas Veias,确实如此。WebServicesFeaturePackV6.1.0.9I从未能够专门解决这个问题,但我相信提供的答案对于任何有类似问题的人都是全面的。