Axis2 中的 OMLinkedListImplFactory ClassCastException

OMLinkedListImplFactory ClassCastException in Axis2

我正在使用 Axis2 连接 SOAP Web 服务。连接时出现以下异常。

我正在使用以下罐子:

轴 2 - 1.6.2

公理-api - 1.2.14

axis2-transport-http - 1.6.2

异常:

java.lang.ClassCastException: org.apache.axiom.om.impl.llom.factory.OMLinkedListImplFactory cannot be cast to org.apache.axiom.om.impl.builder.OMFactoryEx
    at org.apache.axiom.om.impl.builder.StAXBuilder.<init>(StAXBuilder.java:129)
    at org.apache.axiom.om.impl.builder.StAXOMBuilder.<init>(StAXOMBuilder.java:106)
    at org.apache.axiom.om.impl.llom.factory.AbstractOMMetaFactory.internalCreateStAXOMBuilder(AbstractOMMetaFactory.java:81)
    at org.apache.axiom.om.impl.llom.factory.AbstractOMMetaFactory.createOMBuilder(AbstractOMMetaFactory.java:95)
    at org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:154)
    at org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:134)
    at org.apache.axiom.om.OMXMLBuilderFactory.createOMBuilder(OMXMLBuilderFactory.java:105)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:590)
    at org.apache.axis2.util.XMLUtils.toOM(XMLUtils.java:575)
    at org.apache.axis2.deployment.DescriptionBuilder.buildOM(DescriptionBuilder.java:97)
    at org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:90)
    at org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:857)
    at org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:116)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:64)
    at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:210)
    at com.emc.exsearchwebservice.driver.ExSearchWebServiceDriver.main(ExSearchWebServiceDriver.java:44)

终于找到解决办法了。问题是不匹配的 jar 版本。 Axis2 使用 axiom-impl.1.2.13.jar,但我将 axiom-api.1.2.14.jar 作为依赖项包含在内。最后我把axiom-api版本改成了1.2.13,这样问题就解决了。