You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sc...@apache.org on 2007/02/13 15:52:13 UTC

svn commit: r507030 - in /webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws: description/impl/URIResolverImpl.java i18n/resource.properties

Author: scheu
Date: Tue Feb 13 06:52:13 2007
New Revision: 507030

URL: http://svn.apache.org/viewvc?view=rev&rev=507030
Log:
AXIS2-2146
Contributor:Dustin Amrhein
Improvement to URIResolver in the metadata module

Modified:
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/URIResolverImpl.java
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/URIResolverImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/URIResolverImpl.java?view=diff&rev=507030&r1=507029&r2=507030
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/URIResolverImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/URIResolverImpl.java Tue Feb 13 06:52:13 2007
@@ -20,9 +20,12 @@
 
 import java.io.File;
 import java.io.InputStream;
+import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
 
+import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.i18n.Messages;
 import org.apache.ws.commons.schema.resolver.URIResolver;
 import org.xml.sax.InputSource;
 
@@ -31,6 +34,10 @@
  * 
  */
 public class URIResolverImpl implements URIResolver {
+	
+	private final String HTTP_PROTOCOL = "http";
+	
+	private final String FILE_PROTOCOL = "file";
 
     private ClassLoader classLoader;
 
@@ -67,7 +74,7 @@
                     		URI tempURI = new URI(url.getPath());
                         	URI resolvedURI = tempURI.resolve(schemaLocation);
                         	// Add back the scheme to the resolved path
-                        	pathURIStr = pathURI.getScheme() + ":" + resolvedURI.toString();
+                        	pathURIStr = constructPath(url, resolvedURI);
                     	}
                     }
                     else {
@@ -156,4 +163,29 @@
         }
         return is;
     }
+    
+    private String constructPath(URL baseURL, URI resolvedURI) {
+    	String importLocation = null;
+    	URL url = null;
+    	try {
+    		if(baseURL.getProtocol() != null && baseURL.getProtocol().equals(HTTP_PROTOCOL)) {
+        		url = new URL(baseURL.getProtocol(), baseURL.getHost(), baseURL.getPort(),
+        				resolvedURI.toString());
+        	}
+    		else if(baseURL.getProtocol()!= null && baseURL.getProtocol().equals(FILE_PROTOCOL)) {
+        		url = new URL(baseURL.getProtocol(), baseURL.getHost(), resolvedURI.toString());
+        	}
+    	}
+    	catch(MalformedURLException e) {
+    		throw ExceptionFactory.makeWebServiceException(Messages.getMessage("schemaImportError", 
+    				resolvedURI.toString(), baseURL.toString()), e);
+    	}
+    	if(url == null) {
+    		throw ExceptionFactory.makeWebServiceException(Messages.getMessage("schemaImportError", 
+    				resolvedURI.toString(), baseURL.toString()));
+    	}
+    	importLocation = url.toString();
+    	return importLocation;
+    }
+    
 }

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties?view=diff&rev=507030&r1=507029&r2=507030
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/i18n/resource.properties Tue Feb 13 06:52:13 2007
@@ -148,3 +148,4 @@
 unknownHost=The host specified by the URL is unknown.
 connectionRefused=An attempt to connect to the URL was refused.
 mimeBodyPartError=Error: Problem creating mime parts.
+schemaImportError=An internal error occurred resolving imported schema {0} relative to parent document {1}



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