Chapter 3 Service Endpoint Design
Regarding the second issue, you should note that the WS I Basic Profile 1.0
(which is the profile supported by the J2EE 1.4 platform) does not address attach
ments. The section, Parameter Types for Web Service Operations on page 72,
which discussed Java MIME type mappings provided by the J2EE platform,
advised that an efficient design is to use these mappings to send images and XML
documents within a completely Java environment. Because the WS I Basic Pro
file, version 1.0 does not address attachments, a Web service that uses these map
pings may not be interoperable with clients on a non Java platform.
Since the WS I Basic Profile 1.0 specification does not address attachments, a
Web service using the Java MIME mappings provided by the J2EE platform is
not guaranteed to be interoperable.
Since most Web services rely on an exchange of business documents, and
interoperability is not always guaranteed, it is important that you properly under
stand the options for handling XML documents. The section, Exchanging XML
Documents on page 107, explains the various options available to Web services
for exchanging XML documents in an interoperable manner. It should also be
noted that the next version of the WS I Basic Profile specification addresses a
standard way to send attachments, and later versions of the J2EE platforms will
Last is the issue of handlers. Handlers, which give you access to SOAP mes
sages, at the same time impose major responsibilities on you.
When using handlers, you must be careful not to change a SOAP message to
the degree that the message no longer complies with WS I specifications,
thereby endangering the interoperability of your service.
This ends the discussion of considerations for designing a Web service inter
face. The next sections examine other responsibilities of the interaction layer, such
as receiving and delegating requests and formulating responses.
3.4.2 Receiving Requests
The interaction layer, through the endpoint, receives client requests. The platform
maps the incoming client requests, which are in the form of SOAP messages, to
method calls present in the Web service interface.