Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 13273 invoked from network); 8 Oct 2007 14:33:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 8 Oct 2007 14:33:33 -0000 Received: (qmail 55553 invoked by uid 500); 8 Oct 2007 14:33:19 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 55514 invoked by uid 500); 8 Oct 2007 14:33:19 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Delivered-To: moderator for dev@geronimo.apache.org Received: (qmail 56522 invoked by uid 99); 8 Oct 2007 09:12:55 -0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) X-IronPort-AV: i="4.21,241,1188774000"; d="scan'208"; a="904588:sNHT37572843" X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: Axis2 SAAJ implementation in Geronimo - possible class cast bug when unmarshalling? Date: Mon, 8 Oct 2007 10:13:48 +0100 Message-ID: <845616AC46CC3B478B723D5D7819D49201045E22@OFSXCHV1.wataniya-algerie.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Axis2 SAAJ implementation in Geronimo - possible class cast bug when unmarshalling? Thread-Index: AcgH+dkCrGb0RRGMQg+yQMA8aHJCnQBkLMnQ From: "Paul ANDERSON" To: X-Virus-Checked: Checked by ClamAV on apache.org 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=3Dcom.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)