2015-03-25 150 views
1

我正在使用Axis2來連接SOAP Web服務。連接時,我得到以下例外。Axis2中的OMLinkedListImplFactory ClassCastException

我使用下列jar:

的Axis2 - 1.6.2

公理API - 1.2.14

Axis2的運輸-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) 

回答

3

最後我得到了解決方案。問題是jar版本不匹配。 Axis2使用axiom-impl.1.2.13.jar,但是我已經包含了axiom-api.1.2.14.jar作爲依賴關係。最後我將公理-api版本更改爲1.2.13,這就解決了這個問題。