[jbossws-commits] JBossWS SVN: r8424 - stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Thu Oct 9 12:13:21 EDT 2008
Author: alessio.soldano at jboss.com
Date: 2008-10-09 12:13:21 -0400 (Thu, 09 Oct 2008)
New Revision: 8424
Modified:
stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java
Log:
[JBWS-2342][JBWS-2139] Adding wsgen requirements check
Modified: stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java
===================================================================
--- stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java 2008-10-09 15:43:22 UTC (rev 8423)
+++ stack/metro/branches/asoldano/modules/server/src/main/java/org/jboss/wsf/stack/metro/WsgenWrapperGenerator.java 2008-10-09 16:13:21 UTC (rev 8424)
@@ -31,6 +31,8 @@
import java.util.LinkedList;
import java.util.List;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.EndpointReference;
import javax.xml.ws.WebServiceException;
import org.jboss.logging.Logger;
@@ -61,11 +63,16 @@
public ClassLoader generate(String endpoint, ClassLoader classLoader, URL archiveUrl)
{
- log.info("ImplementationName: " + endpoint);
- log.info("Archive file: " + archiveUrl);
+ log.debug("ImplementationName: " + endpoint);
+ log.debug("Archive file: " + archiveUrl);
File tempDir = getTempDir(archiveUrl);
- log.info("Temp directory: " + tempDir);
-
+ log.debug("Temp directory: " + tempDir);
+
+ if (!checkWsgenRequirements())
+ {
+ return classLoader;
+ }
+
WsgenTool wsgen = new WsgenTool(outputStream);
List<String> args = new ArrayList<String>();
args.add("-cp");
@@ -76,7 +83,7 @@
args.add(endpoint);
try
{
- log.info("Invoking Wsgen with the following parameters: " + args);
+ log.debug("Invoking Wsgen with the following parameters: " + args);
if (!wsgen.run(args.toArray(new String[0])))
throw new WebServiceException("Wsgen invocation failed: see the logs for details.");
@@ -88,6 +95,22 @@
throw new WebServiceException("Unable to generate wrapper classes", e);
}
}
+
+ private static boolean checkWsgenRequirements()
+ {
+ Class<?> epRef = EndpointReference.class;
+ Class<?> xmlSeeAlso = XmlSeeAlso.class;
+ String epRefUrl = epRef.getResource('/'+epRef.getName().replace('.','/')+".class").toExternalForm();
+ String xmlSeeAlsoUrl = xmlSeeAlso.getResource('/'+xmlSeeAlso.getName().replace('.','/')+".class").toExternalForm();
+ log.debug("EndpointReference.class loaded from: " + epRefUrl);
+ log.debug("XmlSeeAlso.class loaded from: " + xmlSeeAlsoUrl);
+ if (!epRefUrl.startsWith("jar:") || !xmlSeeAlsoUrl.startsWith("jar:"))
+ {
+ log.warn("[JBWS-2342] wsgen tool does not support jaxws-api and jaxb library loaded through vfszip. Try running this with JDK6. Wrapper generation skipped.");
+ return false;
+ }
+ return true;
+ }
private ServerConfig getServerConfig()
{
More information about the jbossws-commits
mailing list