WebSphere brand IBM WebSphere Telecom Web Services Server, Version 7.1

Transaction Identifier

Examines SOAP headers to determine if an upstream mediation primitive has supplied a global transaction ID or requester ID for a Web service request.

Description

The Transaction Identifier mediation primitive examines SOAP headers to determine if an upstream mediation primitive has supplied a global transaction ID or requester ID for a Web service request.

If no global transaction ID exists, the Transaction Identifier mediation primitive generates a Universal Unique Identifier (UUID) (RFC 4122) and inserts it in a globalTransactionID SOAP header.

If no requester ID exists, the Transaction Identifier mediation primitive gets the WebSphere® Application Server user principal for the request and inserts that ID into a requester SOAP header. Because downstream mediation primitives typically use these headers, place the Transaction Identifier mediation primitive at the start of custom Access Gateway flows.

Policy configuration

This mediation primitive uses the following policies for runtime configuration:

None

Mediation primitive properties

None

Upstream SOAP headers

The following SOAP header elements are expected from upstream mediation primitives:

None

Added SOAP headers

The following SOAP header elements are added or modified for downstream mediation primitives:

<twss:twssHeaders>
  ...
  <twss:globalTransactionID>
    <!-- Global transaction ID that can be used for correlating
         transactions. If this header already exists from an
         upstream mediation primitive, this header is
         preserved and that transaction ID is used for logging.
         Otherwise, a UUID is used. -->
  </twss:globalTransactionID>
  <twss:requesterID>
    <!-- The requester ID. If this header already exists, 
         it is preserved and used as the requester identity.
         Otherwise, the WAS user principal is used. If the
         requester is unauthenticated (for example, security is turned
         off), the special requester "unauthenticated" is
         used. -->
  </twss:requesterID>
  ...
</twss:twssHeaders>

Message handling

Messages that are successfully processed by the Transaction Identifier mediation primitive are passed to the output terminal of the mediation primitive. If an error occurs while processing the message, the message is redirected to the fault terminal:
  • The service message object (SMO) data object transient context ("context/transient/exceptionType") indicates whether a service-related or policy-related exception occurred. For the Transaction Identifier mediation primitive, this context is always set to service.
  • Fault information is set in the SMO headers as indicated in the following table:
SMO header (represented by XPath) Contents
ServiceMessageObject/context/failInfo/failureString The full message text that represents the fault situation with substituted variables. For example, SOAC4025E: Error occurred.
ServiceMessageObject/context/failInfo/origin The name of the mediation primitive class that originated the fault.
ServiceMessageObject/SOAPFaultInfo/faultcode The TWSS message code representing the fault situation. For example, SOAC4025E.
ServiceMessageObject/SOAPFaultInfo/faultstring The full message text that represents the fault situation with substituted variables. For example, SOAC4025E: Error occurred.



Terms of use
(C) Copyright IBM Corporation 2009. All Rights Reserved.