[jbossws-commits] JBossWS SVN: r1239 - trunk/src/main/java/org/jboss/ws/utils

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Tue Oct 17 09:14:37 EDT 2006


Author: thomas.diesler at jboss.com
Date: 2006-10-17 09:14:35 -0400 (Tue, 17 Oct 2006)
New Revision: 1239

Modified:
   trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java
Log:
[JBWS-1303] Unmarshall issue with xsi:type specified bean property

Modified: trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java
===================================================================
--- trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java	2006-10-17 12:45:22 UTC (rev 1238)
+++ trunk/src/main/java/org/jboss/ws/utils/DOMWriter.java	2006-10-17 13:14:35 UTC (rev 1239)
@@ -264,10 +264,18 @@
                String atName = attr.getNodeName();
                String atValue = normalize(attr.getNodeValue());
                
-               if (atPrefix != null && (atPrefix.equals("xmlns") || atPrefix.equals("xml")) == false)
+               if (atPrefix != null && !atPrefix.equals("xmlns") && !atPrefix.equals("xml"))
                {
                   String nsURI = getNamespaceURI(atPrefix, element, rootNode);
                   nsMap.put(atPrefix, nsURI);
+                  
+                  // xsi:type='ns1:SubType', xsi:type='xsd:string'
+                  if (atName.equals(atPrefix + ":type") && nsURI.equals("http://www.w3.org/2001/XMLSchema-instance") && atValue.indexOf(":") > 0)
+                  {
+                     String typePrefix = atValue.substring(0, atValue.indexOf(":"));
+                     String typeURI = getNamespaceURI(typePrefix, element, rootNode);
+                     nsMap.put(typePrefix, typeURI);
+                  }
                }
                
                out.print(" " + atName + "='" + atValue + "'");




More information about the jbossws-commits mailing list