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 di...@apache.org on 2008/02/07 17:12:18 UTC
svn commit: r619477 - in
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment:
DeploymentEngine.java POJODeployer.java util/Utils.java
Author: dims
Date: Thu Feb 7 08:12:12 2008
New Revision: 619477
URL: http://svn.apache.org/viewvc?rev=619477&view=rev
Log:
allow jaxws to look in more locations (WEB-INF and the webapp root) for the wsdl/xsd's specified using wsdlLocation
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=619477&r1=619476&r2=619477&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Thu Feb 7 08:12:12 2008
@@ -756,7 +756,7 @@
}
}
- public String getWebLocationString() {
+ public static String getWebLocationString() {
return webLocationString;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java?rev=619477&r1=619476&r2=619477&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/POJODeployer.java Thu Feb 7 08:12:12 2008
@@ -31,6 +31,7 @@
import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.axis2.Constants;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.classloader.MultiParentClassLoader;
import org.apache.axis2.i18n.Messages;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -65,9 +66,8 @@
}//Will process the file and add that to axisConfig
public void deploy(DeploymentFileData deploymentFileData) {
- ClassLoader threadClassLoader = null;
+ ClassLoader threadClassLoader = Thread.currentThread().getContextClassLoader();
try {
- threadClassLoader = Thread.currentThread().getContextClassLoader();
String extension = DeploymentFileData.getFileExtension(deploymentFileData.getName());
if ("class".equals(extension)) {
File file = deploymentFileData.getFile();
@@ -155,8 +155,15 @@
ArrayList axisServiceList = new ArrayList();
for (int i = 0; i < classList.size(); i++) {
String className = (String) classList.get(i);
+ ArrayList urls = new ArrayList();
+ urls.add(deploymentFileData.getFile().toURL());
+ urls.add(configCtx.getAxisConfiguration().getRepository());
+ String webLocation = DeploymentEngine.getWebLocationString();
+ if (webLocation != null) {
+ urls.add(new File(webLocation).toURL());
+ }
ClassLoader classLoader = Utils.createClassLoader(
- new URL[]{deploymentFileData.getFile().toURL()},
+ urls,
configCtx.getAxisConfiguration().getSystemClassLoader(),
true,
(File) configCtx.getAxisConfiguration().
@@ -279,7 +286,7 @@
} catch (Exception e) {
// Seems like the jax-ws jars missing in the class path .
// lets try with annogen
- log.debug(Messages.getMessage(DeploymentErrorMsgs.JAXWS_JARS_MISSING,e.getMessage()),e);
+ log.info(Messages.getMessage(DeploymentErrorMsgs.JAXWS_JARS_MISSING,e.getMessage()),e);
axisService = createAxisServiceUsingAnnogen(className, classLoader, serviceLocation);
}
return axisService;
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java?rev=619477&r1=619476&r2=619477&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/util/Utils.java Thu Feb 7 08:12:12 2008
@@ -649,6 +649,26 @@
excludeList.add("shutDown");
}
+ public static ClassLoader createClassLoader(ArrayList urls, ClassLoader serviceClassLoader,
+ boolean extractJars, File tmpDir) {
+ URL url = (URL) urls.get(0);
+ if (extractJars) {
+ try {
+ URL[] urls1 = Utils.getURLsForAllJars(url, tmpDir);
+ urls.remove(0);
+ urls.addAll(0, Arrays.asList(urls1));
+ URL[] urls2 = (URL[])urls.toArray(new URL[urls.size()]);
+ return new DeploymentClassLoader(urls2, null, serviceClassLoader);
+ } catch (Exception e){
+ log.warn("Exception extracting jars into temporary directory : " + e.getMessage() + " : switching to alternate class loading mechanism");
+ log.debug(e.getMessage(), e);
+ }
+ }
+ List embedded_jars = Utils.findLibJars(url);
+ URL[] urls2 = (URL[])urls.toArray(new URL[urls.size()]);
+ return new DeploymentClassLoader(urls2, embedded_jars, serviceClassLoader);
+ }
+
public static ClassLoader createClassLoader(URL[] urls, ClassLoader serviceClassLoader,
boolean extractJars, File tmpDir) {
if (extractJars) {
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org