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 ba...@apache.org on 2007/04/16 18:22:42 UTC
svn commit: r529310 -
/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
Author: barrettj
Date: Mon Apr 16 09:22:41 2007
New Revision: 529310
URL: http://svn.apache.org/viewvc?view=rev&rev=529310
Log:
AXIS2-2536
Fix contributed by Dustin Amrhein. On *IX systems, a duplicate slash is causing the WSDL file to be treated as remote.
Modified:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java?view=diff&rev=529310&r1=529309&r2=529310
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java Mon Apr 16 09:22:41 2007
@@ -187,16 +187,16 @@
private URL getAbsoluteURL(ClassLoader classLoader, String filePath){
URL url = classLoader.getResource(filePath);
- if(url == null) {
- if(log.isDebugEnabled()) {
- log.debug("Could not get URL from classloader. Looking in a jar.");
- }
- if(classLoader instanceof URLClassLoader){
- URLClassLoader urlLoader = (URLClassLoader)classLoader;
- url = getURLFromJAR(urlLoader, wsdlURL);
- }
- }
- return url;
+ if(url == null) {
+ if(log.isDebugEnabled()) {
+ log.debug("Could not get URL from classloader. Looking in a jar.");
+ }
+ if(classLoader instanceof URLClassLoader){
+ URLClassLoader urlLoader = (URLClassLoader)classLoader;
+ url = getURLFromJAR(urlLoader, wsdlURL);
+ }
+ }
+ return url;
}
private URL getURLFromJAR(URLClassLoader urlLoader, URL relativeURL) {
@@ -205,11 +205,10 @@
ResourceFinder cf = rff.getResourceFinder();
urlList = cf.getURLs(urlLoader);
if(urlList == null){
- if(log.isDebugEnabled()){
- log.debug("No URL's found in URL ClassLoader");
- }
- ExceptionFactory.makeWebServiceException(Messages.getMessage("WSDL4JWrapperErr1"));
-
+ if(log.isDebugEnabled()){
+ log.debug("No URL's found in URL ClassLoader");
+ }
+ ExceptionFactory.makeWebServiceException(Messages.getMessage("WSDL4JWrapperErr1"));
}
for (URL url : urlList) {
@@ -229,8 +228,17 @@
if (name.endsWith(".wsdl")) {
String relativePath = relativeURL.getPath();
if (relativePath.endsWith(name)) {
+ String path = f.getAbsolutePath();
+ // This check is necessary because Unix/Linux file paths begin
+ // with a '/'. When adding the prefix 'jar:file:/' we may end
+ // up with '//' after the 'file:' part. This causes the URL
+ // object to treat this like a remote resource
+ if(path != null && path.indexOf("/") == 0) {
+ path = path.substring(1, path.length());
+ }
+
URL absoluteUrl = new URL("jar:file:/"
- + f.getAbsolutePath() + "!/"
+ + path + "!/"
+ je.getName());
return absoluteUrl;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org