[ http://issues.apache.org/jira/browse/WSCOMMONS-64?page=comments#action_12422696 ] Davanum Srinivas commented on WSCOMMONS-64: -------------------------------------------
Rich, Do you think this will affect performance? could u do some tests with large (and deep) message sizes to check? thanks, dims > 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 'http://test'" > type="javax.xml.stream.XMLStreamException">javax.xml.stream.XMLStreamException: > Unbound namespace URI 'http://test' > 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]
