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