WebSphere brand IBM WebSphere Telecom Web Services Server, Version 7.1

Transaction Recorder

Writes information about a Web service request passing through the Access Gateway to a database table for accounting purposes.

Description

The Transaction Recorder mediation primitive writes information about a Web service request passing through the Access Gateway to a database table for accounting purposes. This data serves as a description of the transaction, including the Web service requester, transaction ID, and the service and operation invoked. The data stored in the transaction recorder table contains common transaction description information and might be referenced by other mediation primitive data tables via database foreign key relationships. The data is written to the database asynchronously, and is stored in a temporary cache that periodically updates in a batch. The data persists when this occurs.

This mediation primitive is a logical unit that has one input terminal, two output terminals, and a failure terminal. The mediation primitive can then process the message and choose where to place a response on its defined output terminals, according to the semantics of the terminal. Mediation flows are then created by wiring or connecting output terminals and input terminals.

Policy configuration

This mediation primitive uses the following policies for runtime configuration:

message.transaction.RecordTransaction

Indicates whether information about this transaction should be written to the TRANSACTIONS table.
  • Type: Boolean
  • Default: True
  • Allowed values: True or False

message.UseUTCTime

Indicates whether Universal Time Code (UTC), time should be used in the database record or local time.
  • Type: Boolean
  • Default: True
  • Allowed values: True or False

Mediation primitive properties

This mediation primitive uses the following configuration properties. These properties can be modified using WebSphere® Integration Developer (WID) tooling. Properties that are promoted can be configured using the Integrated Solutions Console.

dataSourceName

The JNDI data source name used to access the Transaction Recorder mediation primitive data table.
  • Type: string
  • Promoted: Yes
  • Default: jdbc/TWSSDB

Upstream SOAP headers

The following SOAP header elements are expected from upstream 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 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:policies>
    <twss:policy attribute="" value=""/>
    <twss:policy attribute="" value=""/>
    ...
  </twss:policies>
  ...
</twss:twssHeaders>

Added SOAP headers

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

None

Data definitions

TRANSACTIONS

Field Key Data type Contents
TRANSACTIONID PK VARCHAR (127) The unique transaction identifier.
REQUESTER   VARCHAR (250) The requester ID.
SERVICE   VARCHAR (250) The service being invoked.
SERVICEOPERATION   VARCHAR (250) The service operation being invoked.
ADDTIME   TIMESTAMP The transaction creation time. See the message.UseUTCTime policy.

Message handling

Messages that are successfully processed by the Transaction Recorder 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 recorder 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 that represents 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.