You can customize the XML tagging of the messages that
client applications send to and receive from Web services.
For each operation that you include in a Web service, the workbench
generates a default XML schema that describes the input and output
XML messages for that operation. If an input message for a Web service
operation is in XML, messages must be tagged according to this default
XML schema. All output messages that Web services generate for the
operation are also tagged according to the default XML schema.
You can configure XSL transformations of the XML input messages,
the output messages, or both types of message for a Web service operation.
Those XSL transformations take place during the input and output message
flows.
The flow of custom SOAP/HTTP and HTTP POST (text/xml) messages
involves two XSL transformations: one for input messages and one for
output messages. The flow of custom HTTP GET/POST (url-encoded) messages
involves only one XSL transformation, which is for output messages.
The following sections describe the XSL transformations for messages
that use the supported message protocols.
XSL transformations with the SOAP/HTTP message
protocol
This section describes the default message flow
for SOAP/HTTP messages and then describes the flow that incorporates
XSL transformations.
The default message flow, which contains
no XSL transformations, for a Web service operation follows these
steps:
- A client application sends a SOAP/HTTP message that accesses an
operation in a Web service. The body of the message is in XML and
is tagged according to the default schema.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The Web service sends the response to the client application.
Figure 1. Default flow of messages
When you configure XSL transformations, the message flow
for a Web service operation follows these steps:
- A client application sends a SOAP/HTTP message that accesses an
operation in a Web service. The XML message in the SOAP body is tagged
according to a custom XML schema.
- The message is transformed so that it is tagged according to the
default XML schema.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The message is transformed so that it is tagged according to the
custom XML schema.
- The Web service sends the response to the client application.
Figure 2. Flow of messages that incorporates XSL transformations
Table 1. Inputs to and outputs from the
XSL transformations |
Input to the XSL transformation |
Output from the XSL transformation |
First XSL transformation |
SOAP-wrapped, valid XML document
that uses a custom XML schema |
SOAP-wrapped, valid XML document
that uses the default XML schema |
Second XSL transformation |
SOAP-wrapped, valid XML document
that uses the default XML schema |
SOAP-wrapped, valid XML document
that uses a custom XML schema |
As described in the following table, when you create the
Web service you must supply the following files:
- To enable the first transformation, you must supply the Web service
with a copy of the custom XML schema and an XSL file that maps the
custom XML schema to the default XML schema.
- To enable the second transformation, you must supply the Web service
with a copy of the custom XML schema and an XSL file that maps the
default XML schema to the custom XML schema.
Table 2. Files that you must
provide to the Web service. XSL transformation
of input message |
XSL transformation
of output message |
Custom XML schema (XSD file) |
XSL file |
Custom XML schema (XSD file) |
XSL file |
X |
X |
X |
X |
XSL transformations with the HTTP POST (text/xml)
message protocol
This section describes the default message
flow for HTTP POST (text/xml) messages and then describes the flow
that incorporates XSL transformations.
The default message flow,
which contains no XSL transformations, for a Web service operation
follows these steps:
- A client application sends an HTTP POST (text/xml) message that
accesses an operation in a Web service. The message is in XML and
is tagged according to the default schema.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The Web service sends the response to the client application.
Figure 3. Default flow of messages
When you configure XSL transformations, the message flow
for a Web service operation follows these steps:
- A client application sends an HTTP POST (text/xml) message that
accesses an operation in a Web service. The message is tagged according
to a custom XML schema.
- The message is transformed so that it is tagged according to the
default XML schema.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The message is transformed so that it is either in XML and is
tagged according to the custom XML schema, or is in a non-XML format,
such as HTML or plain text.
- The Web service sends the response to the client application.
Figure 4. Flow of messages that incorporates XSL transformations
Table 3. Inputs to and outputs from the
XSL transformations |
Input to the XSL transformation |
Output from the XSL transformation |
First XSL transformation |
Valid XML document that uses a custom
XML schema |
Valid XML document that uses the
default XML schema |
Second XSL transformation |
Valid XML document that uses the
default XML schema |
Non-XML document or a valid XML document
that uses a custom XML schema |
As described in the following table, when you create the
Web service you must supply the following files:
- To enable the first transformation, you must supply the Web service
only with an XSL file that maps a custom XML schema to the default
schema. You do not need to supply a copy of the custom XML schema.
- To enable the second transformation, the files that you provide
to the Web service depend on the output that you want:
- To enable the transformation to XML, you must supply the Web service
only with an XSL file that maps a custom XML schema to the default
schema. You do not need to supply a copy of the custom XML schema.
- To enable the transformation to a non-XML format, you must supply
an XSL file that maps the default XML schema to the non-XML format.
Table 4. Files that you must
provide to the Web service. XSL transformation
of input message |
XSL transformation
of output message |
Custom XML schema (XSD file) |
XSL file |
Custom XML schema (XSD file) |
XSL file |
|
X |
|
X |
XSL transformations with the HTTP GET/POST
(url-encoded) message protocol
This section describes the
default message flow for HTTP GET (url-encoded) and HTTP POST (url-encoded)
messages and then describes the flow that incorporates an XSL transformation.
The
default message flow, which contains no XSL transformation, for a
Web service operation follows these steps:
- A client application sends an HTTP GET (url-encoded) or HTTP POST
(url-encoded) message that accesses an operation in a Web service.
The message is an encoded sequence of parameters in string of text.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The Web service sends the response to the client application.
Figure 5. Default flow of messages
When you configure an XSL transformation, the message flow
for a Web service operation follows these steps:
- A client application sends an HTTP GET (url-encoded) or HTTP POST
(url-encoded) message that accesses an operation in a Web service.
The message encodes the parameters. XSL transformations are not possible
on these messages.
- The Web service receives the message and passes to the database
the SQL statement or stored procedure call that is in the operation.
- The Web service receives the response from the database and packages
the response in an XML message that is tagged according to the default
XML schema for the operation.
- The message is transformed so that it is either in XML and is
tagged according to the custom XML schema, or is in a non-XML format,
such as HTML or plain text.
- The Web service sends the response to the client application.
Figure 6. Flow of messages that incorporates an XSL transformation
Table 5. Inputs to and outputs from the
XSL transformations.
|
Input to the XSL transformation |
Output from the XSL transformation |
First XSL transformation |
XSL
transformations are not supported for messages from client applications. |
Second XSL transformation |
Valid XML document that uses the
default XML schema |
Non-XML document or a valid XML document
that uses a custom XML schema |
As described in the following table, when you create the
Web service you must supply the following files:
- To enable the transformation to XML, you must supply the Web service
only with an XSL file that maps a custom XML schema to the default
schema. You do not need to supply a copy of the custom XML schema.
- To enable the transformation to a non-XML format, you must supply
an XSL file that maps the default XML schema to the non-XML format.
Table 6. Files that you must
provide to the Web service.
XSL transformation
of input message |
XSL transformation
of output message |
Custom XML schema (XSD file) |
XSL file |
Custom XML schema (XSD file) |
XSL file |
|
|
|
X |