Deploying a Bottom-Up Web Service in Tomcat Web Container

A web container like tomcat can deploy servlets, jsps and web services.

 

Important points about deploying bottum up web services in Tomcat

  • Web components are generally deployed in the web container as war files.

    • These war files might contain standard configuration files such as web.xml and vendor specific configuration files such as sun-jaxws.xml.

  • To host web services, a web container relies on a servlet interceptor, like WSServlet for tomcat that mediates between the client and the web service implementation class (SIB), which needs to be configured in the web.xml file.

    • However, with JAX-WS, this is taken care of "behind the scenes" (stricken out in the example). The endpoint and url pattern details are read from sun-jaxws.xml file and servlet configuration for WSServlet has no effect here.

  • The <endpoints> element of sun-jaxws.xml contains one or more <endpoint> elements.

    • Each endpoint represents a port in the WSDL.

  • The WSServletContextListener configured in the web.xml as a listener class parses sun-jaxws.xml and sets up all deployed endpoints.

 

Steps to deploy a web service in tomcat with JAX-WS

Prerequesites

  1. Setup and start tomcat

  2. Download the jax-ws ri zip, unzip it and copy paste the required jars into lib directory of tomcat.

 

Development and deployment

  1. Build the class files and place class files under WEB-INF/classes according to your package structure.

  2. Create files web.xml and sun-jaxws.xml (with required details) under WEB-INF folder.

  3. Package your web service classes and configuration files into a war file.

  4. Restart the server (or refresh the app list in the manager gui)

 

Verifying the results

  1. Run the service url to see the service.

  2. Append ?wsdl to the url to see the wsdl.

 

Above steps are detailed in the lab note.

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)