WEBSPHERE 6.1部署中的WS AXIS2 webservice会给出java.lang.VerifyError

我试图在websphere 6.1上部署基于jax ws axis2的Web服务。 它在tomcat 5.5中正常工作

我一直按照此链接中提供的axis2联机文档中描述的步骤操作

避免与WebSphere的JAX-WS运行时发生冲突

该服务似乎正确部署(System out中没有消息错误),并在请求时返回wsdl文件。 为了记录目的,我还能够在Web服务上使用一个模块。

从客户端调用服务时出现问题:它返回WebFault

服务器上的Stacktrace如下所示

[10/02/12 16.58.59:861 CET] 0000001e FactoryRegist E org.apache.axis2.jaxws.registry.FactoryRegistry null com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl中的java.lang.VerifyError。 (RuntimeBuiltinLeafInfoImpl.java:224)at java.lang.J9VMInternals.initializeImpl(Native Method)at java.lang.J9VMInternals.initialize(J9VMInternals.java:194)at com.sun.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl (RuntimeTypeInfoSetImpl.java:61)at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:127)at com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder。在com.sun.xml.bind.v2.model.impl.ModelBuilder(ModelBuilder.java:152)上的com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder()中的createTypeInfoSet(RuntimeModelBuilder.java:79)。 RuntimeModelBuilder.java:87)at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)at com.sun.xml.bind.v2.runtime.JAXBContextImpl。(JAXBContextImpl.java:286 )在com.sun.xml.bind.v2.ContextFactory.create 在sun.reflect.NativeMethodAccessorImpl.invoke0(本地方法)上的上下文(ContextFactory.java:139)at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)at sun.reflect.NativeMethodAccessorImpl.invoke NativeMethodAccessorImpl.java:79)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:618)at javax.xml.bind.ContextFinder.newInstance(ContextFinder .java:214)at javax.xml.bind.JAXBContext.newInstance(javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574))javax.xml.bind.ContextFinder.find(ContextFinder.java:375) JAXBContext.java:522)at org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl $ 1.run(JAXWSEndpointReferenceFactoryImpl.java:61)at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java :132)at org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl。(JAXWSEndpointReferenceFactoryImpl.java: 56)at org.apache.axis2.jaxws.registry.FactoryRegistry.init(FactoryRegistry.java:122)at org.apache.axis2.jaxws.registry.FactoryRegistry。(FactoryRegistry.java:97)at java.lang.J9VMInternals。在org.apache.axis2的org.apache.axis2.jaxws.message.util.MessageUtils.getMessageFromMessageContext(MessageUtils.java:145)处的java.lang.J9VMInternals.initialize(J9VMInternals.java:194)处的initializeImpl(Native Method)。在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java)上的org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:124)处的jaxws.core.MessageContext。(MessageContext.java:120) :181)at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)at wgs.v3。 servlet.JetAxisServlet.doPost(JetAxisServlet.java:30)at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)at com.i bm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)位于com.ibm.ws.wswebcontainer.servlet的com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:570)。 ServletWrapper.handleRequest(ServletWrapper.java:478)at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3444)at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java: 267)at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:815)at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)at com.ibm.ws.webcontainer.channel .WCChannelLink.ready(WCChannelLink.java:119)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)at com.ibm.ws.http.channel.inbound.impl .httpInboundLink.handleNewInformation(HttpInboundLink.java:387)at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback .S (com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener。)中的endToDiscriminators(NewConnectionInitialReadCallback.java:214) java:165)at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)at com.ibm.io.async .AsyncFuture.completed(AsyncFuture.java:136)at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)at com.ibm.io.async.ResultHandler $ 2.run(ResultHandler.java:873)at com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1473)

处理这个问题并查看库文件的源代码,发现错误发生在JAXBContext的newIstance方法中

启用类加载器上的跟踪日志显示为javax.xml.datatype.DatatypeConstants类从PARENT加载,因为它在WAR模块中找不到,并且这会给出java.lang.VerifyError

我无法找到解决方案


最后我从这个问题中解脱出来

只需在战争库中添加下面的罐子

xml-apis.jar
xercesImpl.jar
xalan.jar

在战争中正确发现每件事情都不会与IBM libaries发生冲突

链接地址: http://www.djcxy.com/p/41857.html

上一篇: WS AXIS2 webservice on WEBSPHERE 6.1 deployment gives java.lang.VerifyError

下一篇: MOXy @XmlPath ignored