Q&A
Review today's material by taking this quiz.
-
SOAP uses HTTP as a transport, so does this mean that it is restricted to synchronous interaction?
-
Any transport can be used for a SOAP message as long as someone creates a binding for it. SOAP bindings have been defined for SMTP, and such bindings can be created for any other transport mechanism, such as FTP or MQSeries, regardless of whether such mechanisms are synchronous or asynchronous.
Also, although HTTP is inherently synchronous, you can use it to pass XML documents that consist of business "messages" and that form part of a workflow. If the sender of the message is also capable of receiving such messages, it may receive a response of some form at some future point in time. This uses two synchronous interactions to create asynchronous behavior.
-
Can I use Axis (or JAX-RPC) to send an XML document rather than performing an XML-based RPC call?
-
Although it is possible to send an XML document as a parameter to an RPC call using Axis, document-centric interactions are intended to be serviced by the Java API for XML Messaging (JAXM). You will encounter JAXM in more detail tomorrow.
-
What sort of information is contained in a WSDL document?
-
WSDL document contains two basic types of information. It contains the interface for the Web Service that consists of type information, message definitions (parameters and return types), operation definitions (methods that can be called), port types (groupings of methods), and bindings that define how port types are carried over different transports. A WSDL file also contains specific location information for a Web Service in the form of ports that provide a specific location for an instance of a port type and service descriptions that define groups of ports.
-
What does a BeanSerializer do?
-
A BeanSerializer lets you use a JavaBean as a parameter or return type in a Web Service method. When sending, the BeanSerializer will convert the contents of the JavaBean into XML that can be transported as part of the SOAP message. When receiving, the BeanSerializer will unmarshal the XML content for that parameter into an instance of the JavaBean ready to be used by the Java client or server.