Developping and deploying webservice onto Tomcat

Deploying Webservices onto Tomcat is possible with the metro library.

Below is concise description on how to achieve that.

Add to your web.xml the following servlet configuration


Here we add the metro listener on startup WSServletContextListener to initialize the Webservice context. We declare the Servlet (metro servlet) WSServlet and bind it to the context MyService (the context MyService name here is arbitrary).

To finalize configuration, create next to your web.xml (generally in the WEB-INF folder), the sun-jaxws.xml file with the following content

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="" version="2.0">
    <endpoint name="service" implementation="" url-pattern="/MyService" />

As you can see, in this file, we bind the Webservice context (MyService) to the webservice implementation class

The webservice implementation class (a simple Calculator/Summer) is a regular @Webservice annotated class


import javax.jws.WebParam;
import javax.jws.WebService;

public class ServiceImpl {
	public int calculate(@WebParam(name="a") int arg0, @WebParam(name="b") int arg1) {
		return arg0 + arg1;

Deploy your webservice onto Tomcat and enjoy!




  • Maven 2 or higher
  • Servlet API 2.5
  • Metro library 2.2.x

One thought on “Developping and deploying webservice onto Tomcat”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s