Chapter 5. SOAP-Based Web Services

SOAP-Based Web Services are defined as JSR 224, and the complete specification can be downloaded.

SOAP is an XML-based messaging protocol used as a data format for exchanging information over web services. The SOAP specification defines an envelope that represents the contents of a SOAP message and encoding rules for data types. It also defines how SOAP messages may be sent over different transport protocols, such as exchanging messages as the payload of HTTP POST. The SOAP protocol provides a way to communicate among applications running on different operating systems, with different technologies, and different programming languages.

Java API for XML-Based Web Services (JAX-WS) hides the complexity of the SOAP protocol and provides a simple API for development and deployment of web service endpoints and clients. The developer writes a web service endpoint as a Java class. The JAX-WS runtime publishes the web service and its capabilities using Web Services Description Language (WSDL). Tools provided by a JAX-WS implementation, such as wscompile by the JAX-WS Reference Implementation, are used to generate a proxy to the service and invoke methods on it from the client code. The JAX-WS runtime converts the API calls to and from SOAP messages and sends them over HTTP, as shown in Figure 5-1.

In addition to sending SOAP messages over HTTP, JAX-WS provides XML-over-HTTP protocol binding and is extensible to other protocols and transports. The XML-over-HTTP ...

Get Java EE 7 Essentials now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.