Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 16 SOAP Palette : SOAP Event Source

SOAP Event Source
Process Starter
The SOAP Event Source process starter creates a process instance for incoming SOAP requests. SOAP is a standard protocol for invoking web services. This allows you to create a web service using process definitions.
At runtime, a client can retrieve the WSDL file for a process containing this process starter using an HTTP request (see the description of the Retrieve Resources activity for more information). Once the WSDL file is retrieved, the client can perform a SOAP request to invoke the web service.
WSDL File and SOAP Event Source
A WSDL File specifies the characteristics (input message, output message, fault message, and so on) of a web service. The SOAP Event Source process starter configuration determines the concrete WSDL file that describes the web service that the process definition implements.
The Configuration tab of this process starter requires that you specify a Port Type. This port type is taken from a WSDL file resource. Instead of creating a new WSDL File resource, you can use an existing concrete service description. However, the concrete description of the service will be generated based on the configuration of this process starter.
Configuration
The Configuration tab has the following fields.
HTTP — specify a HTTP Connection shared configuration resource.
JMS — specify a JMS Connection shared configuration resource
See SOAP Specification Compliance for more information.
Transport Details
The Transport Details tab allows you to specify additional configuration information based on the type of transport used for the SOAP request. See SOAP Messages Over the JMS Transport for more information about SOAP over the JMS transport.
The Transport Details tab contains the following fields:
Note: If you are using TIBCO Enterprise Message Service as your JMS provider, you can use the Browse button next to this field after specifying a valid connection in the JMS Connection field and a destination type in the JMS Destination Type field. The Browse button displays a list of configured destinations in the JMS server that are of the specified type.
Note — In the TIBCO ActiveMatrix BusinessWorks 5.10 release, a change occurs in the behavior of this feature. Now only the messages that are not confirmed, are redelivered.
Note: If Target Service is configured, it’s value is reflected in the WSDL as a query parameter.
Messages With Attachments
SOAP messages can have message parts that contain attachments. For a message part to contain an attachment, specify the Special Type in the Type field of the Part Details section of the Message resource when creating a WSDL file configuration. See Chapter 19, WSDL Palette for more information about creating WSDL files.
Depending on the SOAP version being used, messages with attachments can conform to one of the following styles:
Messages with Attachments (SwA)
SOAP clients that send messages with attachments in the SwA style must conform to the SOAP Messages with Attachments specification (http://www.w3.org/TR/SOAP-attachments).
The output schema element for a message part that contains an attachment will hold the content ID of the attachment instead of holding the actual attachment data. The actual data for attachments is always contained within the mimeEnvelopeElement of the output schema for this resource. This element contains a repeating element named mimePart that holds the list of attachments in the SOAP message. The attachment list can be correlated to the message parts containing the attachments by using the content-id mimeHeader element.
Message Transmission Optimization Mechanism (MTOM)
Message Transmission Optimization Mechanism (MTOM) provides another way of sending binary content or attachment processing by serializing SOAP messages with attachments. Optimization is only available for element content that is in a canonical lexical representation of xs:base64Binary data type. MTOM conforms to the specification http://www.w3.org/TR/soap12-mtom.
For an outbound SOAP Message with MTOM attachments sent by SOAP Request Reply or SOAP Send Reply activities, any element of type xs:base64Binary (or an extension of xs:base64Binary) in the SOAP response message is treated as an MTOM attachment and appears as a separate MIME part on the wire.
For an inbound SOAP Message with MTOM attachments received by the SOAP Event Source or SOAP Request Reply activities, the SOAP message will have a XOP include reference to the attachment. Any XOP include reference in the SOAP message will be replaced by the corresponding attachment’s content encoded in Base64. Any MIME attachment that is not referenced from the SOAP Message using XOP include reference will be ignored by the MTOM Processing layer.
Note that the attachment is a part of the SOAP Infoset.
See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information about MTOM.
Advanced
The Advanced tab contains the following fields:
http://<host>:<port>/<serviceURI>?wsdl
where <serviceURI> is the value in this field.
WSDL Source
This tab displays the WSDL file that can be used to call the web service implemented by this process definition. This information is presented for display purposes only, and this file cannot be edited. You can copy this WSDL file and send it to anyone who wants to invoke the web service.
Normally, an application would use a web request to retrieve the WSDL file of a web service (see the description of the Retrieve Resources activity for more information about sending a WSDL file as a response to a web request). This tab allows you to see the WSDL file that contains the concrete service description for this process.
Misc
The Misc tab contains the following fields:
See TIBCO ActiveMatrix BusinessWorks Process Design for more information about controlling the execution order of process instances and about XPath expressions.
Output
The output for the activity is the following.
inputMessage or <operationName>
Note: When the content type is specified as "text/*" (for example, "text/xml"), the attachment content is expected to be in either the textContent output element or the file name storing the attachment is expected to be in the fileName output element. When the content type is anything other than "text/*", the attachment content is expected to be in either the binaryContent output element or the file name storing the attachment is expected to be in the fileName output element.
Header.<partName>
Each Header.<partName> element also contains an attribute named @mustUnderstand. This boolean value is set to true in the incoming request if the client specifies that the server must understand the header part.
This field specifies the content-coding values that are acceptable for response messages. For example, compress, gzip. See the HTTP specification for more information about this header field.
Error Output
The Error Output tab lists the following possible exceptions that can be thrown by this activity.
 

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved