[
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