You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Ivan (JIRA)" <ji...@apache.org> on 2012/09/25 17:47:08 UTC
[jira] [Updated] (CXF-4520) XMLStreamException about namespace has
not been bound to a prefix with other stax implemenation
[ 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