------------------------------------转---------------------------------
In this tutorial we are going to see how to deploy JAX-WS Web Services on
Tomcat. For this tutorial we are going to use Eclipse Eclipse 4.3 Kepler, which
will also help us to construct the necessary WAR file for the Web
Application.
In order to deploy a Web Service on Tomcat one should follow these steps:
- Frist of all you have to download Apache Tomcat.
- Copy JAX-WS RI jars
inTOMCAT_HOME/lib
folder - Create a Dynamic Web Application in Eclipse.
- Create a JAX-WS Endpoint (Web Service interface, and Web Service
implementation). - Create a
sun-jaxws.xml
to define the Web Service
implemenation class. - Create a
web.xml
to describe the structure of the
web project. - Export WAR file from Eclipse and copy it
toTOMCAT_HOME/webapps
folder. - Start Tomcat.
1. JAX-WS Dependencies in Tomcat
Tomcat will need some jars in order to deploy a JAX-WS Web Service. You have
to go to : http://jax-ws.java.net/ and download JAX-WS RI library.
Unzip the folder and copy the jars
in TOMCAT_HOME/lib
folder. If you don’t want to copy the
complete library these are the jars that are necessary:
gmbal-api-only.jar
jaxb-impl.jar
jaxws-api.jar
jaxws-rt.jar
management-api.jar
policy.jar
stax-ex.jar
streambuffer.jar
2. Create a Dyncamic Web Project in Eclipse
Open Eclipse IDE and go to File -> New -> Project -> Web ->
Dynamic Web Project :
Then create a Project with name JAX-WS-Tomcat.
3. Service Endpoint
In order to create our Web Service Endpoint:
- First you have to create a Web Service Endpoint Interface. This interface
will contain the declerations of all the methods you want to include in the
Web Service. - Then you have to create a class that actually implements the above
interface, which will be your Endpoint implementation.
Web Service Endpoint Interface
WebServiceInterface.java:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Web Service Endpoint Implementation
WebServiceImpl.java:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
4. Create the web.xml file
Go to WebContent/WEB-INF
folder and create a new XML
file .This is a classic web.xml
file to deploy a Web
Service.
web.xml:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
5. Create sun-jaxws.xml file.
You have to define the Service Endpoint Implementation class as the endpoint
of your project, along with the URL pattern of the Web Service. Go
to WebContent/WEB-INF
folder and create a new XML
file
sun-jaxws.xml:
?
1 2 3 4 5 6 7 |
|
You can find more info in the JAX-WS Documentation.
This is the Eclipse Project Structure:
6. Export WAR file
Now, go to the Package explorer and Right Click on the Project -> Export
-> WAR file :
Now you have to save the WAR file:
After exporting the WAR file you have to copy it
to TOMCAT_HOME/webapps
folder. There are quite a few ways
to create the WAR file. You can use Maven, Ant, or even the jar
command line
tool.
Now you can start Tomcat. Then put the following URL in your Web Browser
:
1 | http://localhost:8080/JAX-WS-Tomcat/sayhello |
If everything is ok this is what you should get:
Now you can create a consumer of the Web Service like we did in previous
tutorials like JAX-WS
Hello World Example – RPC Style.
This was an example on how to deploy JAX-WS Web Services on Tomcat.
Download the Eclipse Project of this example : JAX-WS-Tomcat.zip