我正在尝试在Weblogic 10服务器上部署axis2 webservice客户端。但是我得到以下错误:
java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory at javax.xml.stream.XMLInputFactory.newInstance(XMLInputFactory.java:136) 在 weblogic.servlet.internal.WebAppHelper $ IOHelperImpl.parseXML(WebAppHelper.java:247) 在 weblogic.descriptor.DescriptorCache.parseXML(DescriptorCache.java:350) 在 weblogic.servlet.internal.WebAppHelper.parseTagLibraries(WebAppHelper.java:142) 在 weblogic.servlet.internal.WebAppHelper。(WebAppHelper.java:60) 在 weblogic.servlet.internal.WebAppServletContext。(WebAppServletContext.java:402) 在 weblogic.servlet.internal.WebAppServletContext。(WebAppServletContext.java:452) 在 weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:410) 在 weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:582) 在 weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:298) 在 weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176) 在 weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93) 在 weblogic.application.internal.flow.DeploymentCallbackFlow $ 1.next(DeploymentCallbackFlow.java:360) 在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) 在 weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56) 在 weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:46) 在 weblogic.application.internal.BaseDeployment $ 1.next(BaseDeployment.java:615) 在 weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) 在 weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) 在 weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:147) 在 weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61) 在 weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:189) 在 weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:87) 在 weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) 在 weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:719) 在 weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1186) 在 weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248) 在 weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:157) 在 weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157) 在 weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access $ 000(DeploymentReceiverCallbackDeliverer.java:12) 在 weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer $ 1.run(DeploymentReceiverCallbackDeliverer.java:45) 在 weblogic.work.SelfTuningWorkManagerImpl $ WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464) 在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:172)cuteThread.run(ExecuteThread.java:172)
我的weblogic-application.xml如下:
<wls:prefer-application-packages>
<wls:package-name>com.ctc.wstx.*</wls:package-name>
<wls:package-name>javax.xml.*</wls:package-name>
<wls:package-name>org.apache.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>
所有帮助将不胜感激!
答案 0 :(得分:3)
修正了问题: weblogic-application.xml应为:
<wls:prefer-application-packages>
<wls:package-name>org.apache.*</wls:package-name>
</wls:prefer-application-packages>
</wls:weblogic-application>
因此它选择了weblogic stax-api实现jar。也没有直接的方法让weblogic stax解析器与Axis2 1.5.2一起使用。所以你需要在类路径中使用woodstock解析器。
答案 1 :(得分:0)
问题与CXF相同。我尝试了所有这些方法,最终放入了大量的包列表。最后放弃了我们决定使用Tomcat。
上面给出的列表只是apache类,你可能需要为依赖项及更高版本添加更多的包。