javajakarta-eejax-wsservlet-container

what are differences between the non-Java EE 5 servlet and Java EE 5 servlet containers?


I have been going through the JAX-WS RI documentation and came across the terms non-Java EE 5 servlet and Java EE 5 servlet containers.

The documentation/samples discusses how to use JAX-WS in a non-Java EE 5 servlet container using a proprietary deployment descriptor sun-jaxws.xml and servlet com.sun.xml.ws.transport.http.servlet.WSServlet. This means that you can run JAX-WS RI applications in any servlet container that has been enabled with the JAX-WS RI. Applications that use the proprietary DD and servlet will run in a JAX-WS RI enabled Java EE 5 servlet container, but they will be non-portable. If you wish to use JAX-WS in a Java EE container in a Java EE portable manner you need to use the standard Java EE 5 deployment descriptor; please refer to the Java EE 5 or Glassfish documentation/samples

So what exactly are the non-Java EE 5 servlet and Java EE 5 servlet containers ? Is it because of the different java and servlet specifications versions?


Solution

  • JAX-WS implementation introduced in J2EE 5.
    Non-full J2EE servlet container like Tomcat does not understand sun-jaxws.xml ,
    so you need to add a library to make it work.