1) Create new dynamic web project
2) Copy all jars from glassfish metro JAX-WS (http://jax-ws.java.net/) to WEB-
INF/lib and copy 3 jaxb jars to tomcat's common/endorsed folder
3) Define the Web service class with proper annotations,
@WebService
public class TimeService {
@WebMethod
public String showTime(){
return new Date().toString();
}
}
4) Create sun-jaxws.xml under WEB-INF with endpoint entry for each webservice,
<?xml version="1.0" encoding="ASCII"?>
<runtime:endpoints xmlns:runtime="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<runtime:endpoint implementation="com.jax.sample.TimeService" name="MyTimeService"
url-pattern="/ws/SampleTimeService"/>
</runtime:endpoints>
5) Added servlet mapping and URL mapping entries in web.xml
<servlet>
<servlet-name>WebServiceServlet</servlet-name>
<servlet-
class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WebServiceServlet</servlet-name>
<url-pattern>/ws/SampleTimeService</url-pattern>
</servlet-mapping>
6) Add context listener entry in web.xml
<listener>
<listener-
class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-
class>
</listener>
7) Deploy the webapplication and access the WSDL using the url,
appContext/ws/SampleTimeService?wsdl
Creating java client for webservice
-----------------------------------
1) Create a Java Project
2) new -->> Web Service Client
3) Generate stub classes
4) Use proxy class for invoking the webservice