2012-02-13 114 views
0

我試圖在websphere 6.1上部署基於jax ws axis2的Web服務。它工作正常Tomcat 5.5中WEBSPHERE 6.1部署中的JAX-WS AXIS2 webservice提供java.lang.VerifyError

我一直在關注這個鏈接Axis2的聯機文檔中描述的可用步驟

Avoiding conflicts with WebSphere's JAX-WS runtime

服務似乎正確部署(在系統中沒有錯誤訊息out),並在請求時返回wsdl文件。爲了記錄目的,我還能夠在Web服務上使用一個模塊。

的問題出來,從客戶端調用服務時:它返回一個WebFault此類

堆棧跟蹤在服務器上爲後續

[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在012處使用java.lang.J9VMInternals.initializeImpl(Native Method)java.lang.J9VMInternals.initialize(J9VMInternals.java:194)在 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) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:618)在 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java: 214)在 javax.xml.bi nd.ContextFinder.find(ContextFinder.java:375)at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:522)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。(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) at wgs.v3.servlet.JetAxisServlet.doPost(JetAxisServlet.java:30)at javax.servlet.http.HttpServlet.service (HttpServlet.java:763)在 javax.servlet.http.HttpServlet.service(HttpServlet.java:856)在 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)在 com.ibm.io.asyn c.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)在 com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1473)

工作在這個問題上並環視libaries的源代碼,它出來的錯誤發生在JAXBContext中newIstance方法

啓用跟蹤日誌的類加載器顯示爲javax.xml.datatype.DatatypeConstants類從PARENT加載,因爲它在WAR模塊中找不到,並且這會給出java.lang。的VerifyError

我不能找到一個解決辦法

+0

處理完這個問題後,似乎java.lang.VerifyError 從這個代碼中出來 JAXBContext.newInstance(W3CEndpointReference.class,SubmissionEndpointReference.class); – 2012-02-13 12:21:12

回答

0

最後,我從這個問題

只是增加戰爭的lib下面的罐子拿出

xml-apis.jar 
xercesImpl.jar 
xalan.jar 

每一件事情正確發現在戰爭中與IBM庫沒有衝突