The classes that process Web Services annotations at deployment time are found in appserv-commons/src/java/com/sun/enterprise/deployment/annotation/handlers. For example, the WebServiceHandler class processes the @WebService annotation.
During deployment of a service, all deployment descriptors (if any) are loaded and then the annotations are processed. On seeing an @WebService, for example, the annotation framework calls WebServiceHandler which processes the annotation. While processing the annotation, we check if there a deployment descriptor entry already available (e.g., from webservices.xml) and if so, the annotation values will not override the equivalent defined in the descriptor. At the end of the annotation processing phase, we have all the information required with which we generate WSDLs and other portable artifacts (if not packaged).
3. Does Tomcat has such WebServiceHandler?
Joined: Sep 18, 2011
Thank You. What you say makes sense.
I have done research about Tomcat7. By itself, Tomcat7 does not have WebServiceHandler.
However AXIS2 or Metro or Apache CXF should have these capabilities I believe.
But should those jars be in the <catalina_home>\lib or the applications web-inf\lib folder ?
Has anyone tried to run JAXWS Webservices inside of TOMCAT without web.xml entries ?
The following webpage contains instructions on how to install Metro in a Tomcat instance: http://metro.java.net/2.1.1/ Having installed Metro in Tomcat, you can deploy JAX-WS web services in the same manner as with GlassFish, without using special attention to the web.xml deployment descriptor.