During the execution of the Node2XMLStreamReader transform operation,
a code path compiles properties into a list, namely the different
namespaces and their prefixes. The code allows for the special case
for the default namespace (in
org.apache.tuscany.core.databinding.xml.DOMXMLStreamReader: line
1224):

           if 
(XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attr.getNamespaceURI()))
{
               // Skip xmlns:xxx
               if (!attr.getName().equals(attr.getLocalName())) {
                   // Skip xmlns="..."
                   registerNamespace(attr.getLocalName(), attr.getValue());
               } else {
                   registerNamespace(XMLConstants.DEFAULT_NS_PREFIX,
attr.getValue());
               }
               continue;
           }

In the integration branch
(http://svn.apache.org/repos/asf/incubator/tuscany/branches/sca-java-integration),
however, the tabulation doesn't account for this case:

           if (XMLNS_ATTRIBUTE_NS_URI.equals(ns)) {
               nsList.add(new QName(attr.getValue(), "", attr.getLocalName()));
           }

When this transformation occurs, it tabulates the default namespace as
a prefix of "xmlns" resulting in a SOAP message with following
namespace definitions:

xmlns="..." xmlns:xmlns="..."

Was there a reason for this change in the integration branch or is
this a problem that needs to be fixed?

Kapish Aggarwal

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to