[jbossws-commits] JBossWS SVN: r9758 - stack/native/branches/jbossws-native-2.0.1.SP2_CP04_JBEPP-61/src/main/java/org/jboss/ws/tools/wsdl.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Wed Apr 8 01:05:09 EDT 2009


Author: mageshbk at jboss.com
Date: 2009-04-08 01:05:08 -0400 (Wed, 08 Apr 2009)
New Revision: 9758

Modified:
   stack/native/branches/jbossws-native-2.0.1.SP2_CP04_JBEPP-61/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
Log:
[JBEPP-61] Port [JBWS-2244 - EntityResolver is not used when schema imports are handled.] to JBEPP4.3

Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP04_JBEPP-61/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP04_JBEPP-61/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java	2009-04-07 09:20:26 UTC (rev 9757)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP04_JBEPP-61/src/main/java/org/jboss/ws/tools/wsdl/WSDL11Reader.java	2009-04-08 05:05:08 UTC (rev 9758)
@@ -75,6 +75,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.ws.Constants;
 import org.jboss.ws.core.soap.Style;
+import org.jboss.ws.core.utils.JBossWSEntityResolver;
 import org.jboss.ws.core.utils.ResourceURL;
 import org.jboss.ws.metadata.wsdl.Extendable;
 import org.jboss.ws.metadata.wsdl.WSDLBinding;
@@ -111,6 +112,7 @@
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 /**
  * A helper that translates a WSDL-1.1 object graph into a WSDL-2.0 object graph.
@@ -575,7 +577,24 @@
                schemaLocationsMap.put(namespace, currLoc);
                
                // Recursively handle schema imports
-               Element importedSchema = DOMUtils.parse(currLoc.openStream());
+               Element importedSchema = null;
+               String schema = currLoc.toString();
+               JBossWSEntityResolver entityResolver = new JBossWSEntityResolver();
+               if (entityResolver.getEntityMap().containsKey(schema))
+               {
+                  try
+                  {
+                     importedSchema = DOMUtils.parse(entityResolver.resolveEntity(schema, schema).getByteStream());
+                  }
+                  catch (SAXException se)
+                  {
+                     log.error(se.getMessage(), se);
+                  }
+               }
+               if (importedSchema == null)
+               {
+                  importedSchema = DOMUtils.parse(currLoc.openStream());
+               }
                handleSchemaImports(importedSchema, currLoc);
             }
          }




More information about the jbossws-commits mailing list