Question

In the project I am working I have deployed a SOAP server using Deployment Descriptors (WSDD) files. To do that a webserver (e.g tomcat, jetty) is started and then the following command is executed:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd

What I need is to skip the above command to avoid a call to the Axis AdminClient. Is it possible to deploy my webservice as war file?

Note: A solution with JWS can't be used due to its limitations.

Was it helpful?

Solution

Someone else on Stackoverflow has figured out a way to programmatically configure Axis. This might work for you, too.

The Axis project has some documentation on the EngineConfigurationFactory in its section on Integration.

OTHER TIPS

If you're building with Maven, you could use maven-wsdd-plugin.

If your WSDL isn't changing (e.g., you're just fixing bugs inside the web service biz logic or you're building a web service to fit a given WSDL), you can skip the maven plugin. Just deploy the web service using AdminClient to a development servlet container as described in the question. This will generate a server-config.wsdd in the development servlet container's /{axis_context}/WEB-INF directory. Copy that server-config.wsdd and package it into the WEB-INF directory of your war. When you deploy the war to a different location, your web service should be included in the list of web services.

Tested with Axis 1.4 and Tomcat 1.7

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top