Because SOAP providers must all construct and deconstruct messages as defined by the SOAP specification, clients and services using SOAP are interoperable. That is, as shown in Figure 5–2, the client and the service doing SOAP messaging do not need to be written in the same language nor do they need to use the same SOAP provider. It is only the packaging of the message that must be standard.
In order for a SAAJ client or service to interoperate with a service or client using a different implementation, the parties must agree on two things:
They must use the same transport bindings--that is, the same wire protocol.
They must use the same profile in constructing the SOAP message being sent.