Hi Jonathan, The build is 3.0-SNAPSHOT and the xfire-all-1.0-20060106.jar. I'm running it on java 1.5.0-b64. Thanx, Simon
<[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] Which version of the xfire-all jar are you running with? Also, which build of the various components are you running off of? > -----Original Message----- > From: news [mailto:[EMAIL PROTECTED] Behalf > Of Simon Carni > Sent: Thursday, January 12, 2006 4:01 PM > To: [email protected] > Subject: [servicemix-user] Re: Exception in SaajMarshaler... > > > Hi Guillaume, > > I think I know where the problem is : > > document.appendChild(node.cloneNode(true)); > in method createSOAPMessage in SaajMarshaller throws A node > is used in a > different document than the one that created it exception. > The workaround is to replace this with > document.appendChild(document.importNode(node,true)); > I had simillar issue on some other project... > > Now there's another issue: > when the message is routed back to Axis client seems like > xmlns attribute > gets gets lost. > Here's the document returned to AxisClient when the WS is > called directly: > > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv > :Body><ns1:serviceMethodResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:ns1="http://example3.userguide.samples"><serviceMethodReturn > xsi:type="xsd:string">simon</serviceMethodReturn></ns1:service > MethodResponse></soapenv:Body></soapenv:Envelope> > > and here's the document returned when using SM as a "broker": > <?xml version='1.0' encoding='UTF-8'?><soap:Envelope > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Bo > dy><ns1:serviceMethodResponse > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><service > MethodReturn > xsi:type="xsd:string">simon</serviceMethodReturn></ns1:service > MethodResponse></soap:Body></soap:Envelope> > > You can see xmlns:ns1="http://example3.userguide.samples" > missing in second > doc. > As result I get org.xml.sax.SAXParseException: The prefix > "ns1" for element > "ns1:serviceMethodResponse" is not bound > at Axis client. > The attribute exists before > org.codehaus.xfire.soap.handler.SoapSerializerHandler is > invoked, so that > could be the spot. > > Maybe I just missed something... > Anyway thanx in advance > Cheers, > Simon > > > "Guillaume Nodet" > <[EMAIL PROTECTED]> > wrote in message > news:[EMAIL PROTECTED] > > Could you raise a jira, specifying this stacktrace and the > exact classpath > > used. > > The most important is the saaj implementation and dom > implementation. > > > > Cheers, > > Guillaume Nodet > > > > Simon Èarni wrote: > > > >>Hi, > >> > >>While trying to execute following scenario on SM 3.0-SNAPSHOT; > >> > >>Axis SOAP Client --> HttpSoapConnector --> SaajBinding --> SOAP WS, > >> > >>I get exception: > >> > >>DEBUG - DefaultEndpoint.handleException(76) | Fault occurred! > >>org.codehaus.xfire.fault.XFireFault: WRONG_DOCUMENT_ERR: A > node is used in > >>a dif > >>ferent document than the one that created it. > >> at > >> > org.apache.servicemix.components.http.HttpSoapInOutBinding.invokeInOu > >>t(HttpSoapInOutBinding.java:143) > >> at > >> > org.apache.servicemix.components.http.HttpSoapInOutBinding$InOutServi > >>ce.invokeInOut(HttpSoapInOutBinding.java:221) > >> at sun.reflect.NativeMethodAccessorImpl.invoke0 > (Native Method) > >> at > >> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. > >>java:39) > >> at > >> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces > >>sorImpl.java:25) > >> at java.lang.reflect.Method.invoke(Method.java:585) > >> at > >> > org.codehaus.xfire.service.binding.ObjectInvoker.invoke(ObjectInvoker > >>.java:87) > >> at > >> > org.codehaus.xfire.service.binding.ServiceInvocationHandler.sendMessa > >>ge(ServiceInvocationHandler.java:110) > >> at > >> > org.codehaus.xfire.service.binding.ServiceInvocationHandler.invoke(Se > >>rviceInvocationHandler.java:72) > >> at org.codehaus.xfire.handler.HandlerPipeline.invoke > >> (HandlerPipeline.jav > >>a:97) > >> at > >> > org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoin > >>t.java:58) > >> at > >> > org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel. > >>java:38) > >> at > >> > org.codehaus.xfire.transport.http.XFireServletController.invoke(XFire > >>ServletController.java:278) > >> at > >> > org.codehaus.xfire.transport.http.XFireServletController.doService(XF > >>ireServletController.java :144) > >> at org.apache.servicemix.component > >> s.http.HttpSoapInOutBinding.process(Ht > >>tpSoapInOutBinding.java:94) > >> at > >> > org.apache.servicemix.components.http.BindingServlet.doPost(BindingSe > >>rvlet.java:75) > >> at > javax.servlet.http.HttpServlet.service(HttpServlet.java:615) > >> at > javax.servlet.http.HttpServlet.service(HttpServlet.java:688) > >> at > >> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java :428 > >>) > >> at > >> > org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java > >>:666) > >> at > >> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5 > >>68) > >> at org.mortbay.http.HttpContext.handle > (HttpContext.java:1530) > >> at > org.mortbay.http.HttpContext.handle(HttpContext.java:1482) > >> at org.mortbay.http.HttpServer.service(HttpServer.java:909) > >> at org.mortbay.http.HttpConnection.service > >> (HttpConnection.java:816) > >> at > >> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) > >> at > org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) > >> at org.mortbay.http.SocketListener.handleConnection > >> (SocketListener.java: > >>244) > >> at > org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) > >> at > org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534) > >>Caused by: org.w3c.dom.DOMException : WRONG_DOCUMENT_ERR: A > node is used > >>in a dif > >>ferent document than the one that created it. > >> at > org.apache.xerces.dom.ParentNode.internalInsertBefore(Unknown > >> Source) > >> > >> at > org.apache.xerces.dom.ParentNode.insertBefore(Unknown Source) > >> at > org.apache.xerces.dom.CoreDocumentImpl.insertBefore(Unknown > >> Source) > >> at > org.apache.xerces.dom.NodeImpl.appendChild(Unknown Source) > >> at > >> > org.apache.servicemix.components.saaj.SaajMarshaler.createSOAPMessage > >>(SaajMarshaler.java:140) > >> at > org.apache.servicemix.components.saaj.SaajBinding.onMessageExc > >> hange(S > >>aajBinding.java:88) > >> at > >> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBoun > >>d(DeliveryChannelImpl.java:587) > >> at > >> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlo > >>w.java:179) > >> at > >> > org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doSend(SedaFlow.java > >>:137) > >> at > >> > org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.jav > >>a:121) > >> at org.apache.servicemix.jbi.nmr.Broker.sendExchangePacket > >> (Broker.java:2 > >>85) > >> at > >> > org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBICont > >>ainer.java:586) > >> at > >> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(Delive > >>ryChannelImpl.java :346) > >> at > >> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(Deli > >>veryChannelImpl.java:420) > >> at > >> > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(Deli > >>veryChannelImpl.java :397) > >> at > >> > org.apache.servicemix.components.http.HttpSoapInOutBinding.invokeInOu > >>t(HttpSoapInOutBinding.java:132) > >> ... 29 more > >>DEBUG - HandlerPipeline.invoke(95) | Invoking handler > >>org.codehaus.xfire.soap.ha > >>ndler.FaultSoapSerializerHandler in phase post-invoke > >>DEBUG - HandlerPipeline.invoke(95) | Invoking handler > >>org.codehaus.xfire.handler > >> > >>... > >> > >>Any ideas??? > >> > >> > >> > >> > >> > >> > > > > > > >
