Create a consumer Web service deployment descriptor
Consumer Web service deployment descriptors are specialized XML documents that are used to control the activation of consumer Web services.
ddname.xmlwhere ddname is
the 1- to 252-character, unique name of the file to be placed in the /etc/tpf-ws/ directory
of the z/TPF file system. The format for this deployment descriptor is defined in
the base/tpf-ws/schema/tpf_ws_dd_vn.xsd XML
Schema file (where n is the version number
and must be 2 or higher) that is shipped with the z/TPF system. The following
elements of the consumer Web service deployment descriptor must
appear in the XML document in the same order as they are listed here.
- ConsumerDeploymentDescriptor
- The namespace universal resource identifier (URI) for this element and for each of the elements that follow must be set to "http://www.ibm.com/xmlns/prod/ztpf/soap". Set this namespace URI by using a default namespace for the XML document or by establishing your own namespace prefix.
- xsi:schemaLocation
- This attribute must be present on the root element of the deployment descriptor XML document. Set it to the following value to indicate the location of the deployment descriptor schema document in the z/TPF file system: xsi:schemaLocation="http://www.ibm.com/xmlns/prod/ztpf/soap file:/etc/tpf-ws/schema/tpf_ws_dd_vn.xsd", where n is the version number.
- ServiceURI
- The 1- to 512-character URI for the Web service that is identified by this deployment descriptor. The URI that is specified must match exactly the value that will be specified for the tpf_soapInvokeService C function call.
- Stub
- Indicates the 4-character name of the Web service stub that is called to build the SOAP request message and to process the SOAP response message. Valid characters include A-Z and 0-9.
- SOAPProcessing
- Identifies the elements in the Web service deployment descriptor that control the processing of the SOAP consumer handler when a SOAP request or response is being processed for this Web service. The following elements are children of this element: SOAPMessageHandlerChain, VerifySOAPHeaders, and SOAPVersion.
- SOAPMessageHandlerChain
- Indicates the list of SOAP message handlers that are to be called when a SOAP request is being built for this Web service. The order that the SOAP message handlers are specified is the order in which they will be called when processing the tpf_soapInvokeService C function call. The same SOAP message handlers will be called in the reverse order when processing a SOAP response message. This element is optional. The following element is a child of this element: SOAPMessageHandler.
- SOAPMessageHandler
- Indicates the SOAP message handler to be called when processing a SOAP request that is sent to this Web service, or a SOAP response that is received from this Web service. The SOAP message handler name specified is the 1- to 32-character, user-specified symbolic name that uniquely identifies the SOAP message handler to be called.
A corresponding SOAP message handler deployment descriptor must exist. The SOAPMessageHandler element can appear multiple times when more than one SOAP message handler is to be called for this Web service. The following attribute can be specified for this element: required.
- true
- Indicates that the corresponding SOAP header blocks must be present in SOAP requests and responses for this Web service.
- false
- Indicates that the corresponding SOAP header blocks are optional in SOAP requests and responses for this Web service.
- VerifySOAPHeaders
- Indicates whether the z/TPF SOAP runtime
should verify the SOAP header blocks that appear in SOAP responses
received for this Web service. SOAP header blocks are used to implement
SOAP features, which extend the basic SOAP standard.
- true
- All SOAP header blocks that are present in SOAP responses received
for this Web service will be verified. If the z/TPF SOAP runtime
detects a SOAP header block that has the mustUnderstand attribute
set to "true" (SOAP 1.1 or SOAP 1.2) or "1" (SOAP 1.1), and a corresponding SOAP message handler has not
been called to process the SOAP header block, the z/TPF system will treat
this SOAP response as not valid and return an error to the calling
application.Note: The z/TPF SOAP runtime will only verify those SOAP header blocks for which it is determined that the z/TPF system plays the required role, as determined by the “actor” attribute (SOAP 1.1) or the “role” attribute (SOAP 1.2) specified on the SOAP header block. The following roles are valid for the z/TPF system:
http://www.w3.org/2003/05/soap-envelope/role/none http://www.w3.org/2003/05/soap-envelope/role/next http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver - false
- The z/TPF SOAP runtime does not verify any of the SOAP header blocks that are contained in SOAP responses that are received for this Web service. All SOAP message handlers specified in the SOAPMessageHandlerChain are still called by the z/TPF SOAP runtime; however, no verification is performed that all of the necessary SOAP header blocks have been processed. Use this value when there might be SOAP header blocks included in the SOAP responses that are handled by the Web service stub itself, rather than by SOAP message handlers.
- SOAPVersion
- Indicates the acceptable format of SOAP requests for this Web
service. This element is optional, and if not specified, the z/TPF SOAP runtime
treats this Web service as if the DEFAULT value had been specified.
If the Web service accepts SOAP requests in multiple formats, this
element can appear multiple times, unless otherwise stated. If a SOAP
response is received for this Web service in an unacceptable format,
the z/TPF SOAP
runtime will treat this SOAP response as not valid and return an error
to the calling application.
- DEFAULT
- Indicates that SOAP requests are expected to be in the format corresponding to the DEFAULT_SOAP_VERSION value that is set in the tpf/c_usoapeq.h header file. When this value is specified, the SOAPVersion element cannot appear more than once.
- SOAP1.1
- Indicates that a SOAP response for this Web service is acceptable if it is in SOAP 1.1 format. This value and the BP1.1_SSBP1.1 value cannot both be specified for the same Web service.
- SOAP1.2
- Indicates that a SOAP response for this Web service is acceptable if it is in SOAP 1.2 format.
- BP1.1_SSBP1.1
- Indicates that a SOAP request for this Web service is acceptable if it is in SOAP 1.1 format. Also, this instructs the z/TPF SOAP runtime to perform checks on the message to ensure that it is compliant with the Organization for the Advancement of Structured Information Standards (OASIS) Web Services Interoperability (WS-I) Basic Profile 1.1 and the OASIS WS-I Simple Soap Binding Profile 1.1. When a SOAP response is found to be non-compliant, the z/TPF SOAP runtime will treat the SOAP response as not valid and return an error to the calling application. This value and the SOAP1.1 value cannot both be specified for the same Web service.
- Operation
- Indicates the 1- to 128-character name of a service method that is exposed as part of this Web service. The Operation element is optional, but can appear multiple times if this Web service exposes multiple methods.
- Description
- Indicates a 1- to 256-character, meaningful description that you have written of the Web service that is identified by this deployment descriptor. This element is optional.
- TransportAutoFailover
- Indicates whether the SOAP consumer handler should
automatically try the next transport method in the chain if a transport-specific
error is received from an attempt to call a Web service.
- true
- Indicates that the next transport in the chain should be tried.
- false
- Indicates that the tpf_soapInvokeService C function should return to the caller with the transport-specific error and leave it to the application to decide how to proceed.
- ProviderCodepage
- Optionally indicates the code page of the SOAP provider Web service.
If this option is not present, the DEFAULT_SOAP_PROVIDER_CODEPAGE
value in tpf/c_usoapeq.h will
be used as the default. If this option or the default are set to any
of the following code pages, SOAP consumer processing will translate
the XML request and response as needed. If the code page is not set
to one of the code pages that follow, SOAP provider processing will
first call the UWST user exit so that you can translate the XML message
and if the translation is not done, will use iconv to translate the
message.
- IBM-500
- IBM-1047
- ISO-8859–1
- UTF-8
- UTF-16BE
- UTF-16LE
- UTF-EBCDIC. This code page is supported only if the code page specified by the ConsumerCodepage element is UTF-8.
- ConsumerCodepage
- Optionally indicates the code page of the SOAP consumer application.
If this option is not present, the DEFAULT_SOAP_CONSUMER_CODEPAGE
value in tpf/c_usoapeq.h will
be used as the default. If this option or the default is set to any
of the following code pages, SOAP consumer processing will translate
the XML request and response as needed. If the code page is not set
to one of the code pages that follow, SOAP consumer processing will
first call the SOAP consumer translation user exit (tpf_soapTranslationExit)
so that you can translate the XML message and if the translation is
not done, will use iconv to
translate the message.
- IBM-500
- IBM-1047
- ISO-8859–1
- UTF-8
- UTF-16BE
- UTF-16LE
- UTF-EBCDIC. This code page is supported only if the code page specified by the ProviderCodepage element is UTF-8.
Note: The UTF-8 and UTF-16BE translations can only be used with the SOAP_XML_DOCUMENT data format on the tpf_soapInvokeService function; otherwise, the B2B scanner will fail when parsing. - TransportChain
- Indicates the list of transports that can be used to reach this
Web service. The first transport in the chain is considered the default;
you can define one or more transports. The following element is a
child of this element: Transport.
- Transport
- Indicates the transport information that can be used to reach this Web service. The first transport in the chain is considered the default. The following elements are children of this element: HTTPTransport, MQTransport, TPFTransport, and UserTransport.
- HTTPTransport
- Indicates the HTTP transport information that can be used to reach this Web service. The following elements are children of this element: HTTPURL, HTTPHeaderList.
- HTTPURL
- Indicates the uniform resource locator (URL) to use for the specified HTTP client request; the URL must be less than 1024 characters. The URL is a combination of the protocol (HTTP or HTTPS), the host name, and the request uniform resource identifier (URI).
- HTTPHeaderList
- Indicates a list of HTTP headers that are required for this Web
service. This element is optional. The following element is a child
of this element: HTTPHeader.
- Header
- Indicates the name and value of the header, in the form
header: value. The length ofheader: valueis from 1 to 1024 characters.
- MQTransport
- Indicates the IBM® MQ transport
information that can be used to reach this Web service. The following
elements are children of this element: MQQueueName, MQAsyncReplyQueueName,
and MQSyncReplyQueueName.
- MQQueueName
- Indicates the queue to send the SOAP message to when using the IBM MQ transport to access a Web service.
- MQAsyncReplyQueueName
- Indicates the queue that the Web service will post the reply message to when using the IBM MQ transport to access a Web service using an asynchronous message exchange pattern (MEP).
- MQSyncReplyQueueName
- Indicates the queue that the Web service will post the reply message to when using the IBM MQ transport to access a Web service using a synchronous message exchange pattern (MEP).
- MQRFH2
- Indicates whether the SOAP consumer handler should
include a request format header type 2 (MQRFH2) when sending the SOAP
request to the Web service provider. When the MQRFH2 header is supported
by the Web service provider, it will be set up by the SOAP consumer handler to include
information about the Web service to be called. This element is optional.
The following element is a child of this element: MQsoapAction. Note: If a child element is not specified, the SOAP consumer handler will generate an MQRFH2 that specifies only the contentType for the SOAP request.
- MQsoapAction
- The 1- to 512-character URI that is used by the Web service provider to identify the Web service to which the SOAP request is to be delivered. This element is optional.
- TPFTransport
- Indicates the z/TPF transport
information that can be used to reach this Web service. The following
elements are children of this element: TPFLocal and TPFtoTPF. Note: You can specify either TPFLocal, or the combination of TPFtoTPFHost and TPFtoTPFPort.
- TPFLocal
- Indicates that the destination Web service resource is on the current z/TPF processor and that the same ECB will be used to call the service.
- TPFtoTPF
- The following elements are children of this element: TPFtoTPFHost
and TPFtoTPFPort.
- TPFtoTPFHost
- Indicates the hostname or IP address of the z/TPF processor that the Web service resides on.
- TPFtoTPFPort
- Indicates the port number that will be used to access the z/TPF Web service. This is an integer in the range of 1 to 65535.
- UserTransport
- Indicates the user transport information that can be used to reach
this Web service. The following elements are children of this element:
UserProgramName, UserData.
- UserProgramName
- Indicates the 4-character name of the z/TPF program that is activated when a user-defined transport is to be used.
- UserData
- Indicates a user-defined string to be passed to the specified user transport program. The length of the string can be from 1 to 1024 characters.