//TODO
LHY review
The XML Channel uses multichannel support to send and receive
XML formatted messages. The goal is not to address any particular device or
client but to define the message formats and DTDs required for the toolkit.
In addition, the XML Channel provides the channel driver and handlers required
for multichannel support (see Multichannel support for more information).
This XML Channel works with any of the XML parsers currently available or
you may implement a custom parser.
The following interfaces and classes are provided in the com.ibm.dse.cs.xml
package:
- XmlRequestServlet - This is a specialized CSRequestServlet
that is used as the front door to receive XML messages and execute an operation.
This servlet parses the HTTP request message to obtain the header and data,
using the standard servlet API's, and updates the channel context with the
new request data. This servlet must determine the message processor required
to perform the parsing on the XML message stream and create a generic keyed
collection of request data.
- XmlEstablishSessionServlet - This is a specialized
CSEstablishSessionServlet that is used as the front door to receive XML message
streams and establish the session between the client and the server.
- MessageProcessor - This interface has been provided
to give the XML Channel component the ability to determine the required parser
for the XML message. The package and class name for the parser must be specified
in the XML Channel channel handler configuration in the server-side toolkit
configuration file (dse.ini). (See XML Channel configuration settings.)
- DSEXmlMessageProcessor - This is the default implementation
provided by the XML Channel. The processor parses the key fields in the message
using the following naming convention, "dse_". This simple processor does
not perform any validation checking or check for well-formed XML, which gives
it a performance advantage over more complex XML parsers. It is assumed that
all messages will conform to the DTDs (see XML Channel DTDs), but the messages
are not validated against the DTDs. The XML Channel is not limited to using
the current processor and it is possible to substitute the XML processor that
best suits your need. This includes the DOM and SAX parsers.
- XmlRequestHandler - This is a specialized JavaRequestHandler
that executes the operation to be performed by the toolkit.
- XmlPresentationHandler - This is a specialized JavaPresentationHandler
that dynamically builds an XML document and renders a message back to the
client device. The presentation handler can be replaced to incorporate other
technologies that provide support for XML messages, such as JSPs or XML/XSL.
- DSEXmlNoRegisteredXmlProcessorException - This
exception is thrown when a valid parser is not specified for the XML channel
in the server-side toolkit configuration file (dse.ini).