[ 
http://issues.apache.org/jira/browse/WSCOMMONS-64?page=comments#action_12422751 
] 
            
Rich Scheuerle commented on WSCOMMONS-64:
-----------------------------------------

I ran several variations of a large and nested messages.  The ones with default 
namespaces failed with the old code.  The tests with qualified and unqualified 
elements passed with the old and new code (I did not detect any difference in 
performance).

Any other questions or concerns ?

scheu

> StreamingOMSerializer is invoking the XMLStreamWriter with a wrong sequence 
> of writes.
> --------------------------------------------------------------------------------------
>
>                 Key: WSCOMMONS-64
>                 URL: http://issues.apache.org/jira/browse/WSCOMMONS-64
>             Project: WS-Commons
>          Issue Type: Bug
>            Reporter: Rich Scheuerle
>         Assigned To: Rich Scheuerle
>         Attachments: patch.txt
>
>
> I found this problem while debugging AXIS2-913.  I attempted to write an 
> Axiom testcase, but could not reproduce the problem with just Axiom code.
> Here is the stack dump from AXIS2-913:
>     <error message="Unbound namespace URI &apos;http://test&apos;"; 
> type="javax.xml.stream.XMLStreamException">javax.xml.stream.XMLStreamException:
>  Unbound namespace URI &apos;http://test&apos;
> at 
> com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:240)
> at 
> com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:273)
> at 
> org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartElement(MTOMXMLStreamWriter.java:87)
> at 
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement(StreamingOMSerializer.java:123)
> at 
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:73)
> at 
> org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:56)
> at 
> org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:325)
> at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:792)
> at 
> org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:177)
> at 
> org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:811)
> at 
> org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:378)
> at 
> org.apache.axis2.jaxws.message.MessageTests.testJAXBOutflow(MessageTests.java:304)
> at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> at junit.extensions.TestSetup.run(TestSetup.java:23) 
> The root of the problem is that  StreamingOMSerializer is invoking the writer 
> using an incorrect  StAX sequence.
> This results in the writer reporting an unbound namespace.
> Similar (or the same problem) has been report in WSCOMMONS-33 and WSCOMMONS-62
> I have a fix for the problem.  I will be posting a patch in a few minutes.
> Here is the "new" algorithm that I have added to the 
> StreamingOMSerializer.serializeElement:
>         // The algorithm is:
>         // ... generate setPrefix/setDefaultNamespace for each namespace 
> declaration if the prefix is unassociated.
>       // ... generate setPrefix/setDefaultNamespace if the prefix of the 
> element is unassociated
>       // ... generate setPrefix/setDefaultNamespace for each unassociated 
> prefix of the attributes.
>       //
>       // ... generate writeStartElement
>       //
>       // ... generate writeNamespace/writerDefaultNamespace for each 
> namespace declaration on the element
>       // ... generate writeNamespace/writeDefaultNamespace for any new 
> "autogen" namespace/prefixes
>       // ... generate writeAttribute for each attribute
>       
> I have peer reviewed the code with a member of IBM's parser team (Perter 
> McCracken) and several of the IBM JAX-WS contributors.
> I would like a peer review from the Axiom community.  
> This issue is holding up some critical development in the JAXWS code.  So I 
> will be committing the fix later today, unless I get some negative feedback.
> Thanks,
> scheu

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to