Client-Side Invocation of a Web Service
1. The first step in client-side invocation of a Web service typically
involves the generation of a service endpoint interface (SEI) using a
WSDL to Java mapping tool. The SEI provides a Java representation
of the Web service to be invoked. The SEI is generated prior to compiling
the client application, as its interface definitions are used in
the client application.6 Figure 2–3 shows that generating the SEI
involves JAXB, JAX-WS, and WS-Metadata. JAXB maps the XML
parameters and return types described in the WSDL to Java parameters
and a return type used in the SEI. WS-Metadata annotations
adorn the SEI to document the mapping from wsdl : operations to
Java methods. JAX-WS, meanwhile, provides the standard mapping
from WSDL to Java that is captured in the structure of the SEI and
documented with the WS-Metadata annotations.
Not sure I could place distinct roles of JAXB and JAXWS. Here the bold portions both tend to state they work with WSDL to Java mapping. What is the difference here or are we saying that JAX-WS is the umbrella term used for the work done by JAXB and WS-Metadata.
P.S. I am quoting from SOA Using Java Webservices by Mark Hansen.
SCJP 1.4 90%, SCWCD5 94%, Next SCDJWS--> In Naescent stage. Researching abt exam and material itself.
JAXB is an API used by JAX-WS, but it is independent of web services - it can be used in other contexts just as well. Reading some of the introductions listed in http://wiki.java.net/bin/view/Javawsxml/JaxbArticles should make clear what it does, and how it does so.