[ https://issues.apache.org/jira/browse/CXF-4520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan updated CXF-4520: ---------------------- Attachment: CXF-4520.patch It may be better to sort those attributes firstly, so that StaxUtils could always write those namespace firstly, then write those real attributes. Also, we may use the writer.getNamespaceContext().getNamespaceURI(attrPrefix) instead of DOMUtils.getNamespace method, with that, no need to iteration the current element and its parents each time. A patch file is attached, please help to take a look, thanks. > XMLStreamException about namespace has not been bound to a prefix with other > stax implemenation > ----------------------------------------------------------------------------------------------- > > Key: CXF-4520 > URL: https://issues.apache.org/jira/browse/CXF-4520 > Project: CXF > Issue Type: Bug > Components: Core > Affects Versions: 2.6.2 > Reporter: Ivan > Attachments: CXF-4520.patch > > > While using CXF with other stax implementation, I got the exception below > javax.xml.stream.XMLStreamException: The namespace URI > "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" > has not been bound to a prefix. > With the investigation, I found that, it is because that, StaxUtils does not > write those namespace before other attributes. e.g. for the element below > wsp:Policy wsu:Id="ImageServiceImplServiceSoapBinding_WSAM_Addressing_Policy" > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">-<wsam:Addressing > wsp:Optional="true"><wsp:Policy/></wsam:Addressing></wsp:Policy> > The writeElement method will write the attribute wsu:Id first, which causes > issue as the prefix wsu has not be declared. Seems that woodstox is more > tolerant for those things. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira