1. The use of the WSDL at runtime depends, as far as I understand, on what kind of client you develop.
It is possible to develop clients that assemble SOAP messages and send them without ever using the WSDL while other types of clients generates portable artifacts, like JAXB beans, at runtime, based on the WSDL. Then there is also the kind of clients which use wsimport or similar tool to generate artifacts at development time using the WSDL.
I am genererating the client and service using RAD. The client is webproject as well, in that case does the WSDL get used at runtime. I have a feeling it does not since WSDL defines the service and using WSDL we generate the service and clients. A bunch of classes get created proxy, ser, desser etc..I am assuming these classes take care of the runtime and WSDL is not needed at runtime...atleast in my case.
2. The fact that you see the endpoint address in the web.xml deployment descriptor is because your endpoint uses a servlet to receive requests, which are then passed on to your endpont implementation class.
Strictly speaking, this is not necessary, since the endpoint address is also present in the WSDL, so for endpoints that uses other protocols, there will be no web.xml.
Where can I see the servlet(the class which extends HttpServlet) does that get generated, even then I am confused because in the web.xml the servlet-class attribute points to the service bean which is not a servlet. Once the http request is recieved it pure J2EE ...so it will invoke the service bean and find it is not a servlet. Wouldn' that lead to failure....
Also another question for those who use RAD IDE, how do I know if I am using JAX-WS or JAX-RPC ??