astrogrid/warehouse/src/javaand you have to create
astrogrid/warehouse/src/webapp astrogrid/warehouse/src/webapp/WEB-INFNote that webapp is singular, unlike the webapps directory in Tomcat.
astrogrid/warehouse/src/webapp/EchoHeaders.jws astrogrid/warehouse/src/webapp/SOAPMonitorApplet$SOAPMonitorData.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet$SOAPMonitorFilter.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet$SOAPMonitorPage.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet$SOAPMonitorTableModel.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet$SOAPMonitorTextArea.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet$ServiceFilterPanel.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet.class astrogrid/warehouse/src/webapp/SOAPMonitorApplet.java astrogrid/warehouse/src/webapp/StockQuoteService.jws astrogrid/warehouse/src/webapp/WEB-INF/web.xml astrogrid/warehouse/src/webapp/fingerprint.jsp astrogrid/warehouse/src/webapp/happyaxis.jsp astrogrid/warehouse/src/webapp/index.htmlAll this is going into CVS in your project, so the Java class files are cumbersome. If you don't want to run the SOAP-monitor applet (and it's disabled by default in Axis), then leave them out. You may wish to edit index.html and web.xml to describe your service instead of simply describing Axis. The HTML file is easy. In web.xml, you would change the display-name element of the web-app in order to get a custom label in Tomcat's manager interface.
<dependency>
<id>axis</id>
<version>1.1</version>
</dependency>
You may have the modern form of this using groupId and artifactId in place in place of id. In either case, maven will not load these jars into the WAR by default.
Edit your project.xml and extend each dependency on a jar used by axis like this:
<dependency>
<id>axis</id>
<version>1.1</version>
<properties>
<war.bundle>true</war.bundle>
</properties>
</dependency>
to tell Maven to bundle the jar into the WAR.
astrogrid/warehouse/src/webapp/WEB-INF/server-config.wsddIf you are used to deploying services using Axis' Admin or AdminClient classes, then you will have written WSDD fragments. In that technique, the fragment you provide as deploy.wsdd gets spliced into server-config.wsdd. When building a Axis web-application in a WAR, the set of services is fixed at coding time, so you can write server-config.wsdd directly, tuning it for your application. Here's the deployment descriptor for astrogrid/warehouse
<resources>
<resource>
<directory>${basedir}</directory>
<includes>
<include>src/webapp/WEB-INF/server-config.wsdd</include>
</includes>
</resource>
</resources>
directly inside the project element. If your project.xml already has a resources element, then add the resource element above to the existing resources element; don't add a second resources element.
maven clean jar warshould now do what you need. It builds a WAR named according to the project name in your project.xml. E.g.
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="maven-project.xsd"> <pomVersion>3</pomVersion> <id>astrogrid-datawarehouse</id> <name>AstroGrid Data Warehouse</name> ...gets you
astrogrid/warehouse/target/astrogrid-datawarehouse.warIf you want some other name for the web-app (e.g. to shorten the context path when you deploy it), then rename the WAR file before you deploy it into Tomcat. -- GuyRixon - 03 Dec 2003; updated on 04 Dec 2003
axis.unpack goal
server-config.wsdd with the following fragment
<java classname="org.apache.axis.utils.Admin"
dir="${maven.war.webapp.dir}/WEB-INF"
classpathref="fullapppath" fork="yes" failonerror="true">
<arg value="server"/>
<arg value="${generated.dir}/wsdd/ApplicationControllerService/deploy.wsdd"/>
</java>
-- PaulHarrison - 04 Jan 2004 | I | Attachment | Action | Size | Date | Who | Comment |
|---|---|---|---|---|---|---|
| |
server-config.wsdd | manage | 9.5 K | 2003-12-04 - 14:53 | GuyRixon | Sample deployment descriptor |
![]() |
Click here for the AstroGrid Service Web |
This is the AstroGrid Development Wiki |
|