geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lin Sun <linsun....@gmail.com>
Subject Re: Axis2 SAAJ implementation in Geronimo - possible class cast bug when unmarshalling?
Date Mon, 08 Oct 2007 20:13:24 GMT
Hi Paul,

You can try with CXF, which uses sun's saaj impl.   Here is an 
instruction on how to configure the jax-ws engine in geronimo - 
http://cwiki.apache.org/GMOxDOC20/configure-jax-ws-engine.html.

Also, I haven't tried to use JDK6 or the wsimport provided by JDK6.  I 
have been using Sun's SDK 5 and the wsimport provided by Geronimo (in 
the geronimo\bin dir, there is a tool called jaxws-tools).   The sample 
here is proved to work with Sun's SDK 5 and Axis2 - 
http://cwiki.apache.org/GMOxDOC20/simple-web-service-with-jax-ws.html.

HTH, Lin

Paul ANDERSON wrote:
> I've hit trouble moving my JAXB-unmarshalled web service (based on
> Spring Web Services 1.0.0) from Tomcat 5.5.23 to Geronimo 2.0.1; stack
> trace below. I used JDK6 on Linux for both TC and Geronimo.
> 
> I stripped the .war down to use dummy empty implementations of
> everything, with no extra jar's, so that only the unmarshalling was
> causing a problem.
> (I generate my JAXB classes with JDK wsimport on the command line and
> include them in WEB-INF/classes, so unlike for Axis2 and CXF they don't
> include Geronimo machinery-maybe this is a problem.)
> 
> I think the problem is because of Geronimo's Axis 2 SAAJ implementation,
> and it can't be overridden even when classloader priority is configured
> to be to the servlet context. Also, I've tried setting JAVA_OPTS in the
> geronimo.sh startup script to include
> -Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.S
> OAPMessageFactory1_1Impl etc but it had no effect.
> 
> My fix was to replace the impl and api jars in the Geronimo repository
> with empty files, so that the deployer's dependency checker was fooled
> and rmi and the server started without complaining.
> Now my web service works. But I have a bad feeling about what I've just
> done to Geronimo - probably it will prevent me using CXF in the same
> server.
> 
> Anyone got a better workaround, or a fix for Geronimo?
> 
> 16:33:04,183 WARN [SoapMessageDispatcher] Endpoint invocation resulted
> in exception - responding with SOAP Fault
> java.lang.ClassCastException:
> org.apache.axiom.soap.impl.dom.SOAPMessageImpl cannot be cast to
> org.apache.axiom.om.impl.dom.ElementImpl
> at org.apache.axis2.saaj.NodeImplEx.toSAAJNode2(NodeI mplEx.java:260)
> at org.apache.axis2.saaj.NodeImplEx.toSAAJNode(NodeIm plEx.java:181)
> at org.apache.axis2.saaj.SOAPElementImpl.getParentEle
> ment(SOAPElementImpl.java:723)
> at org.apache.axis2.saaj.SOAPElementImpl.getParentNod
> e(SOAPElementImpl.java:778)
> at com.sun.xml.bind.unmarshaller.DOMScanner.buildName
> spaceSupport(DOMScanner.java:159)
> at com.sun.xml.bind.unmarshaller.DOMScanner.buildName
> spaceSupport(DOMScanner.java:159)
> at com.sun.xml.bind.unmarshaller.DOMScanner.scan(DOMS canner.java:100)
> at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal
> lerImpl.unmarshal0(UnmarshallerImpl.java:288)
> at com.sun.xml.bind.v2.runtime.unmarshaller.Unmarshal
> lerImpl.unmarshal(UnmarshallerImpl.java:271)
> at javax.xml.bind.helpers.AbstractUnmarshallerImpl.un
> marshal(AbstractUnmarshallerImpl.java:107)
> at org.springframework.oxm.jaxb.Jaxb2Marshaller.unmar
> shal(Jaxb2Marshaller.java:312)
> at org.springframework.ws.support.MarshallingUtils.un
> marshal(MarshallingUtils.java:54)
> at org.springframework.ws.server.endpoint.adapter.Mar
> shallingMethodEndpointAdapter.unmarshalRequest(Mar
> shallingMethodEndpointAdapter.java:145)
> at org.springframework.ws.server.endpoint.adapter.Mar
> shallingMethodEndpointAdapter.invokeInternal(Marsh
> allingMethodEndpointAdapter.java:135)
> at org.springframework.ws.server.endpoint.adapter.Abs
> tractMethodEndpointAdapter.invoke(AbstractMethodEn
> dpointAdapter.java:58)
> at org.springframework.ws.server.MessageDispatcher.di
> spatch(MessageDispatcher.java:211)
> at org.springframework.ws.server.MessageDispatcher.re
> ceive(MessageDispatcher.java:158)
> at org.springframework.ws.transport.support.WebServic
> eMessageReceiverObjectSupport.handleConnection(Web
> ServiceMessageReceiverObjectSupport.java:87)
> at org.springframework.ws.transport.http.WebServiceMe
> ssageReceiverHandlerAdapter.handle(WebServiceMessa
> geReceiverHandlerAdapter.java:57)
> at org.springframework.ws.transport.http.MessageDispa
> tcherServlet.doService(MessageDispatcherServlet.ja va:158)
> at org.springframework.web.servlet.FrameworkServlet.p
> rocessRequest(FrameworkServlet.java:475)
> at org.springframework.web.servlet.FrameworkServlet.d
> oPost(FrameworkServlet.java:440)
> at javax.servlet.http.HttpServlet.service(HttpServlet .java:713)
> at javax.servlet.http.HttpServlet.service(HttpServlet .java:806)
> at org.apache.catalina.core.ApplicationFilterChain.in
> ternalDoFilter(ApplicationFilterChain.java:290)
> at org.apache.catalina.core.ApplicationFilterChain.do
> Filter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invo
> ke(StandardWrapperValve.java:230)
> at org.apache.catalina.core.StandardContextValve.invo
> ke(StandardContextValve.java:175)
> at org.apache.geronimo.tomcat.valve.DefaultSubjectVal
> ve.invoke(DefaultSubjectValve.java:56)
> at org.apache.geronimo.tomcat.GeronimoStandardContext
> $SystemMethodValve.invoke(GeronimoStandardContext. java:351)
> at org.apache.geronimo.tomcat.valve.GeronimoBeforeAft
> erValve.invoke(GeronimoBeforeAfterValve.java:47)
> at org.apache.catalina.core.StandardHostValve.invoke(
> StandardHostValve.java:128)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:104)
> at org.apache.catalina.core.StandardEngineValve.invok
> e(StandardEngineValve.java:109)
> at org.apache.catalina.valves.AccessLogValve.invoke(A
> ccessLogValve.java:563)
> at org.apache.catalina.connector.CoyoteAdapter.servic
> e(CoyoteAdapter.java:261)
> at org.apache.coyote.http11.Http11Processor.process(H
> ttp11Processor.java:844)
> at org.apache.coyote.http11.Http11Protocol$Http11Conn
> ectionHandler.process(Http11Protocol.java:581)
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(
> JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:619)
> 


Mime
View raw message