You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by su...@apache.org on 2007/06/19 19:37:43 UTC

svn commit: r548806 - /webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java

Author: sumedha
Date: Tue Jun 19 10:37:42 2007
New Revision: 548806

URL: http://svn.apache.org/viewvc?view=rev&rev=548806
Log:
Applied the patch for AXIS2-2821 from Lin Sun

Modified:
    webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java

Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java?view=diff&rev=548806&r1=548805&r2=548806
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/saaj/SOAPBodyImpl.java Tue Jun 19 10:37:42 2007
@@ -407,13 +407,16 @@
         Element domEle = ((Element)node);
         int indexOfColon = domEle.getTagName().indexOf(":");
         NamespaceImpl ns;
-        String localname;
+        String localName;
         if (indexOfColon != -1) {
-            localname = domEle.getTagName().substring(indexOfColon + 1);
+            localName = domEle.getTagName().substring(indexOfColon + 1);
             ns = new NamespaceImpl(domEle.getNamespaceURI(),
                                    domEle.getTagName().substring(0, indexOfColon));
         } else {
-            localname = domEle.getLocalName();
+            localName = domEle.getLocalName();
+            if (localName == null) {  //it is possible that localname isn't set but name is set
+                localName = domEle.getTagName();
+            }     
             if (domEle.getNamespaceURI() != null) {
                 ns = new NamespaceImpl(domEle.getNamespaceURI(), domEle.getPrefix());
             } else {
@@ -427,7 +430,7 @@
         }
         ElementImpl eleImpl =
                 new ElementImpl((DocumentImpl)this.getOwnerDocument(),
-                                localname, ns, this.element.getOMFactory());
+                                localName, ns, this.element.getOMFactory());
 
         SOAPElementImpl saajEle = new SOAPElementImpl(eleImpl);
 
@@ -435,18 +438,18 @@
         NamedNodeMap domAttrs = domEle.getAttributes();
         for (int i = 0; i < domAttrs.getLength(); i++) {
             org.w3c.dom.Node attrNode = domAttrs.item(i);
-            if (attrNode.getLocalName() == null) {
-                //local part is required.  "" is allowed to preserve compatibility with QName 1.0
-                saajEle.addAttribute(new PrefixedQName(attrNode.getNamespaceURI(),
-                                                       "",
-                                                       attrNode.getPrefix()),
-                                                       attrNode.getNodeValue());
-            } else {
-                saajEle.addAttribute(new PrefixedQName(attrNode.getNamespaceURI(),
-                                                       attrNode.getLocalName(),
-                                                       attrNode.getPrefix()),
-                                                       attrNode.getNodeValue());                
+            String attrLocalName = attrNode.getLocalName();
+            if (attrLocalName == null) {
+                attrLocalName = attrNode.getNodeName();
             }
+            if (attrLocalName == null) {
+                //local part is required.  "" is allowed to preserve compatibility with QName 1.0
+                attrLocalName = "";
+            } 
+            saajEle.addAttribute(new PrefixedQName(attrNode.getNamespaceURI(),
+                                                   attrLocalName,
+                                                   attrNode.getPrefix()),
+                                                   attrNode.getNodeValue());                
         }
 
         NodeList childNodes = node.getChildNodes();



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org