WEBSPHERE 6.1部署的JAX-WS AXIS2 Web服务提供了java.lang.VerifyError

时间:2012-02-13 07:28:08

标签: jax-ws axis2 websphere-6.1

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

我一直在按照此链接提供的 axis2 在线文档中描述的步骤进行操作

Avoiding conflicts with WebSphere's JAX-WS runtime

服务似乎正确部署(系统输出中没有消息错误)并在请求时返回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)     在   com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:127)     在   com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:79)     在   com.sun.xml.bind.v2.model.impl.ModelBuilder。(ModelBuilder.java:152)     在   com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder。(RuntimeModelBuilder.java:87)     在   com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422)     在   com.sun.xml.bind.v2.runtime.JAXBContextImpl。(JAXBContextImpl.java:286)     在   com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139)     在   com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:618)at   javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:214)at   javax.xml.bind.ContextFinder.find(ContextFinder.java:375)at   javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)at at   javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)at at   org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl $ 1.run(JAXWSEndpointReferenceFactoryImpl.java:61)     在   org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132)     在   org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl。(JAXWSEndpointReferenceFactoryImpl.java:56)     在   org.apache.axis2.jaxws.registry.FactoryRegistry.init(FactoryRegistry.java:122)     在   org.apache.axis2.jaxws.registry.FactoryRegistry。(FactoryRegistry.java:97)     at java.lang.J9VMInternals.initializeImpl(Native Method)at   java.lang.J9VMInternals.initialize(J9VMInternals.java:194)at   org.apache.axis2.jaxws.message.util.MessageUtils.getMessageFromMessageContext(MessageUtils.java:145)     在   org.apache.axis2.jaxws.core.MessageContext。(MessageContext.java:120)     在   org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:124)     在org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)     在   org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)     在   org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)     在wgs.v3.servlet.JetAxisServlet.doPost(JetAxisServlet.java:30)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:763)at at   javax.servlet.http.HttpServlet.service(HttpServlet.java:856)at at   com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)     在   com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:570)     在   com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)     在   com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3444)     在   com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:267)     在   com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:815)     在   com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)     在   com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)     在   com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)     在   com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)     在   com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)     在   com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)     在   com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)     在   com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)     在com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)at   com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)at at   com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)     在com.ibm.io.async.ResultHandler $ 2.run(ResultHandler.java:873)at   com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1473)

解决这个问题并查看库的源代码,发现错误发生在JAXBContext newIstance方法

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

我无法找到解决方案

1 个答案:

答案 0 :(得分:0)

最后我摆脱了这个问题

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

xml-apis.jar
xercesImpl.jar
xalan.jar

在战争中正确地找到了所有东西而没有与IBM库的冲突