You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/01/15 14:51:03 UTC
svn commit: r1231666 - in /axis/axis1/java/trunk:
axis-maven-plugin/src/main/java/org/apache/axis/maven/
axis-standalone-server/src/main/java/org/apache/axis/server/standalone/
axis-standalone-server/src/main/resources/org/apache/axis/server/standalone...
Author: veithen
Date: Sun Jan 15 13:51:02 2012
New Revision: 1231666
URL: http://svn.apache.org/viewvc?rev=1231666&view=rev
Log:
Enable usage of JWS with the standalone server and the Maven plugin.
Modified:
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java
axis/axis1/java/trunk/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java
axis/axis1/java/trunk/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/quit-handler-deploy.wsdd
axis/axis1/java/trunk/integration/pom.xml
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java Sun Jan 15 13:51:02 2012
@@ -44,7 +44,7 @@ public class DefaultServerManager implem
this.logger = logger;
}
- public void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, String[] wsddFiles, int timeout) throws Exception {
+ public void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, String[] wsddFiles, File[] jwsDirs, int timeout) throws Exception {
AdminClient adminClient = new AdminClient(true);
adminClient.setTargetEndpointAddress(new URL("http://localhost:" + port + "/axis/services/AdminService"));
List cmdline = new ArrayList();
@@ -55,6 +55,12 @@ public class DefaultServerManager implem
cmdline.add("org.apache.axis.server.standalone.StandaloneAxisServer");
cmdline.add("-p");
cmdline.add(String.valueOf(port));
+ cmdline.add("-w");
+ cmdline.add(workDir.getAbsolutePath());
+ if (jwsDirs != null && jwsDirs.length > 0) {
+ cmdline.add("-j");
+ cmdline.add(StringUtils.join(jwsDirs, File.pathSeparator));
+ }
if (logger.isDebugEnabled()) {
logger.debug("Starting process with command line: " + cmdline);
}
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java Sun Jan 15 13:51:02 2012
@@ -21,6 +21,6 @@ package org.apache.axis.maven;
import java.io.File;
public interface ServerManager {
- void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, String[] wsddFiles, int timeout) throws Exception;
+ void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, String[] wsddFiles, File[] jwsDirs, int timeout) throws Exception;
void stopServer(int port) throws Exception;
}
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java Sun Jan 15 13:51:02 2012
@@ -82,6 +82,13 @@ public class StartServerMojo extends Abs
private WSDD[] wsdds;
/**
+ * A set of directories to look up JWS files from.
+ *
+ * @parameter
+ */
+ private File[] jwsDirs;
+
+ /**
* If this flag is set to <code>true</code>, then the execution of the goal will block after the
* server has been started and the services are deployed. This is useful if one wants to
* manually test some services deployed on the server or if one wants to run the integration
@@ -208,6 +215,7 @@ public class StartServerMojo extends Abs
(String[])vmArgs.toArray(new String[vmArgs.size()]),
workDir,
wsddFiles == null ? null : (String[])wsddFiles.toArray(new String[wsddFiles.size()]),
+ jwsDirs,
debug || foreground ? Integer.MAX_VALUE : 20000);
} catch (Exception ex) {
throw new MojoFailureException("Failed to start server", ex);
Modified: axis/axis1/java/trunk/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java (original)
+++ axis/axis1/java/trunk/axis-standalone-server/src/main/java/org/apache/axis/server/standalone/StandaloneAxisServer.java Sun Jan 15 13:51:02 2012
@@ -18,6 +18,10 @@
*/
package org.apache.axis.server.standalone;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
@@ -27,7 +31,12 @@ import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.servlet.Context;
+import org.mortbay.jetty.servlet.ServletHandler;
+import org.mortbay.jetty.servlet.ServletHolder;
+import org.mortbay.jetty.servlet.ServletMapping;
import org.mortbay.jetty.servlet.SessionHandler;
+import org.mortbay.resource.Resource;
+import org.mortbay.resource.ResourceCollection;
/**
* Jetty based stand-alone Axis server.
@@ -37,10 +46,26 @@ import org.mortbay.jetty.servlet.Session
public class StandaloneAxisServer {
public static void main(String[] args) throws Exception {
Options options = new Options();
- Option portOption = new Option("p", true, "the HTTP port");
- portOption.setArgName("port");
- portOption.setRequired(true);
- options.addOption(portOption);
+
+ {
+ Option option = new Option("p", true, "the HTTP port");
+ option.setArgName("port");
+ option.setRequired(true);
+ options.addOption(option);
+ }
+
+ {
+ Option option = new Option("w", true, "the work directory");
+ option.setArgName("dir");
+ option.setRequired(true);
+ options.addOption(option);
+ }
+
+ {
+ Option option = new Option("j", true, "a list of directories to look up JWS files from");
+ option.setArgName("dirs");
+ options.addOption(option);
+ }
if (args.length == 0) {
HelpFormatter formatter = new HelpFormatter();
@@ -60,13 +85,47 @@ public class StandaloneAxisServer {
int port = Integer.parseInt(cmdLine.getOptionValue("p"));
+ List resources = new ArrayList();
+
+ // Add the work dir as a resource so that Axis can create its server-config.wsdd file there
+ File workDir = new File(cmdLine.getOptionValue("w"));
+ new File(workDir, "WEB-INF").mkdir();
+ resources.add(Resource.newResource(workDir.getAbsolutePath()));
+
+ boolean enableJWS;
+ if (cmdLine.hasOption("j")) {
+ String[] jwsDirs = cmdLine.getOptionValue("j").split(File.pathSeparator);
+ for (int i=0; i<jwsDirs.length; i++) {
+ resources.add(Resource.newResource(jwsDirs[i]));
+ }
+ enableJWS = true;
+ } else {
+ enableJWS = false;
+ }
+
Server server = new Server(port);
server.setGracefulShutdown(1000);
Context context = new Context(server, "/axis");
+ context.setBaseResource(new ResourceCollection((Resource[])resources.toArray(new Resource[resources.size()])));
context.setSessionHandler(new SessionHandler());
QuitListener quitListener = new QuitListener();
context.setAttribute(QuitHandler.QUIT_LISTENER, quitListener);
- context.addServlet(StandaloneAxisServlet.class, "/services/*");
+ ServletHandler servletHandler = context.getServletHandler();
+ ServletHolder axisServlet = new ServletHolder(StandaloneAxisServlet.class);
+ axisServlet.setName("AxisServlet");
+ servletHandler.addServlet(axisServlet);
+ {
+ ServletMapping mapping = new ServletMapping();
+ mapping.setServletName("AxisServlet");
+ mapping.setPathSpec("/services/*");
+ servletHandler.addServletMapping(mapping);
+ }
+ if (enableJWS) {
+ ServletMapping mapping = new ServletMapping();
+ mapping.setServletName("AxisServlet");
+ mapping.setPathSpec("*.jws");
+ servletHandler.addServletMapping(mapping);
+ }
server.start();
try {
quitListener.awaitQuitRequest();
Modified: axis/axis1/java/trunk/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/quit-handler-deploy.wsdd
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/quit-handler-deploy.wsdd?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/quit-handler-deploy.wsdd (original)
+++ axis/axis1/java/trunk/axis-standalone-server/src/main/resources/org/apache/axis/server/standalone/quit-handler-deploy.wsdd Sun Jan 15 13:51:02 2012
@@ -2,9 +2,13 @@
<deployment name="defaultClientConfig"
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <globalConfiguration>
+ <service name="AdminService" provider="java:MSG">
+ <namespace>http://xml.apache.org/axis/wsdd/</namespace>
+ <parameter name="allowedMethods" value="AdminService"/>
+ <parameter name="enableRemoteAdmin" value="false"/>
+ <parameter name="className" value="org.apache.axis.utils.Admin"/>
<responseFlow>
<handler type="java:org.apache.axis.server.standalone.QuitHandler"/>
</responseFlow>
- </globalConfiguration>
+ </service>
</deployment>
Modified: axis/axis1/java/trunk/integration/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/integration/pom.xml?rev=1231666&r1=1231665&r2=1231666&view=diff
==============================================================================
--- axis/axis1/java/trunk/integration/pom.xml (original)
+++ axis/axis1/java/trunk/integration/pom.xml Sun Jan 15 13:51:02 2012
@@ -899,6 +899,9 @@
</includes>
</wsdd>
</wsdds>
+ <jwsDirs>
+ <jwsDir>../axis-war/src/main/webapp</jwsDir>
+ </jwsDirs>
</configuration>
</execution>
<execution>