New issuue SM-263 was created.
Cheers,
Simon

"Guillaume Nodet" <[EMAIL PROTECTED]> wrote in 
message news:[EMAIL PROTECTED]
> Could you please raise a jira and attach your patch please ?
> I will commit it asap.
>
> Cheers,
> Guillaume Nodet
>
> Simon Èarni wrote:
>
>>Jonathan,
>>
>>I updated my source from svn, executed  maven eclipse using maven1 
>>(earlier I was using maven2) and the problem with namespace seems to be 
>>solved. But the issue regarding
>>SaajMarshaller.createSOAP remains. I need to have 
>>document.importNode(node,true) instead of node.cloneNode(true).
>>Cheers,
>>Simon
>>
>>"Simon Carni" <[EMAIL PROTECTED]> wrote in message 
>>news:[EMAIL PROTECTED]
>>
>>>Hi Jonathan,
>>>First of all thank you for your reply!
>>>
>>>I'll put my comments inline...
>>>
>>>>...
>>>>What is the revision number of the SaajMarshaler you are working with?
>>>>...
>>>>
>>>The revision number of SaajMarshaller is same as yours - 367116.
>>>
>>>...
>>>
>>>>If  you run ServiceMix with log4j set to DEBUG, can you tell if the 
>>>>output of
>>>>SaajMarshaler.toNMS and SaajMarshaler.createSOAP are correct? Have you
>>>>verified that the issue is not with the HttpSoapConnector?
>>>>
>>>...
>>>
>>>Outputs from both, SaajMarshaller.createSOAP and toNMS are correct. 
>>>SaajBinding returns correct message. Things go wrong after the message is 
>>>returned to HttpSoapConnector. Text bellow is printed right before src is 
>>>returned in invokeInOut method in HttpSoapConnector
>>>(...
>>>Source src = exchange.getOutMessage().getContent();
>>>           exchange.setStatus(ExchangeStatus.DONE);
>>>           channel.send(exchange);
>>>           src = transformer.toDOMSource(src);
>>>           System.out.println("Body is: " + transformer.toString(src));
>>>           return src;
>>>...
>>>)
>>>That's the output:
>>>Body is: <?xml version="1.0" encoding="UTF-8"?><ns1:serviceMethodResponse 
>>>xmlns:ns1="http://example3.userguide.samples"; 
>>>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:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";><serviceMethodReturn
>>> 
>>>xsi:type="xsd:string">test 
>>>me</serviceMethodReturn></ns1:serviceMethodResponse>
>>>
>>>As you can see the namespace attribute is there. Following line in output 
>>>is this:
>>>DEBUG - HandlerPipeline.invoke(95) | Invoking handler 
>>>org.codehaus.xfire.soap.handler.SoapSerializerHandler in phase 
>>>post-invoke
>>>I guess that's the spot where something goes wrong.
>>>
>>>
>>>>....". Does this namespace issue arise once you replace
>>>>node.cloneNode(true) with document.importNode(node,true)? The change to
>>>>cloneNode() was implemented precisely to avoid the namespace issue that 
>>>>you
>>>>are describing.
>>>>
>>>Yes  the issue arised after the change . Before the change the message 
>>>wasn't even sent  from SaajBinding to WS. Now the things go wrong 
>>>somewhere on the "return path" of the message.
>>>Looking at log we can say it's somewhere in HttpSoapConnector 
>>>(org.codehaus.xfire.soap.handler.SoapSerializerHandler more precisely)
>>>
>>>p.s. : I've tested  document.appendChild(node.cloneNode(true)); and in 
>>>the case that parent document of cloned node is not the same as the 
>>>document we were going to append it to, it allways throws Exception.
>>>
>>>Cheers,
>>>Simon
>>>
>>>
>>>
>>>
>>>
>>><[EMAIL PROTECTED]> wrote in message 
>>>news:[EMAIL PROTECTED]
>>>
>>>>Simon,
>>>>
>>>>What is the revision number of the SaajMarshaler you are working with? I 
>>>>am
>>>>using the same xfire-all version, and revision 367116 with Systinet 
>>>>clients
>>>>and services, and am not experiencing any of the problems that you seem 
>>>>to
>>>>be encountering with Axis. In fact, the changes to the SaajMarshaler 
>>>>were
>>>>put in place to fix the namespace problem that you are describing below. 
>>>>If
>>>>you run ServiceMix with log4j set to DEBUG, can you tell if the output 
>>>>of
>>>>SaajMarshaler.toNMS and SaajMarshaler.createSOAP are correct? Have you
>>>>verified that the issue is not with the HttpSoapConnector? As an
>>>>alternative, have you tried substituting your SOAP/XML data in to the
>>>>SaajMarshalerTest?
>>>>
>>>>To clarify your situation a bit, in your note you say "Now there's 
>>>>another
>>>>issue:...". Does this namespace issue arise once you replace
>>>>node.cloneNode(true) with document.importNode(node,true)? The change to
>>>>cloneNode() was implemented precisely to avoid the namespace issue that 
>>>>you
>>>>are describing.
>>>>
>>>>regards,
>>>>/jonathan
>>>>
>>>>
>>>>>-----Original Message-----
>>>>>From: news [mailto:[EMAIL PROTECTED] 
>>>>>Behalf Of Simon Carni
>>>>>Sent: Thursday, January 12, 2006 10:39 PM
>>>>>To: [email protected]
>>>>>Subject: [servicemix-user] Re: Re: Exception in SaajMarshaler...
>>>>>
>>>>>
>>>>>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]
>>>>>northamerica.cexp.com...
>>>>>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???
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
> 



Reply via email to