This example shows how to use Axis2 in a servlet container. You must 
have Maven 2.x installed to build this example.  To build type:

$ mvn install war:war

To run the sample using a Servlet Engine: 

Please install a servlet engine say tomcat. Rename the resultant war as your_web_app.war and drop it into webapps directory under tomcat.
The WSDL file for the service should be viewable at:

http://yourhost:port/your_web_app/services/HelloWorld.HelloWorldImplPort?wsdl

To run the sample under axis2server:

Please copy the java_first_jaxws jar into <AXIS2_HOME>/repository/servicejars (Please create the directory if it does not exist). Then start the axis2 server.
The WSDL file for the service should be viewable at:

http://localhost:8080/axis2/services/HelloWorld.HelloWorldImplPort?wsdl

NOTE: If you are using JDK1.5, please copy jaxws-rt.jar and jaxws-tools.jar from the JAXWS RI into <AXIS2_HOME>/lib before you run axis2 server. In JDK 1.6, you don't need these 2 jars.
