Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [EnsLib] >  [ebXML] >  [MessageTracking]
Private  Storage   

persistent class EnsLib.ebXML.MessageTracking extends %Persistent, %XML.Adaptor

A class for tracking the progress of ebXML messages

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
13 14 5


Summary

Properties
AckOid AckToken ConversationId Error
ExpiresAt MessageId RequestOid ResponseOid
Status TimeAcknowledged TimeCompleted TimeStarted
Token

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt
%CheckConstraints %CheckConstraintsForExtent %ClassIsLatestVersion
%ClassName %ComposeOid %ConstructClone
%Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty
%DispatchMethod %DispatchSetModified %DispatchSetMultidimProperty
%DispatchSetProperty %Exists %ExistsId
%Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject
%Id %InsertBatch %IsA
%IsModified %IsNull %KillExtent
%KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject
%ObjectIsNull %ObjectModified %Oid
%OnBeforeAddToSync %OnDetermineClass %Open
%OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload
%RemoveFromSaveSet %ResolveConcurrencyConflict %RollBack
%Save %SaveDirect %SaveIndices
%SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport
%UnlockExtent %UnlockId %ValidateIndices
%ValidateObject BeginTracking IsMessageIdTracked
IsMessageTracked MessageStatusToStatusResponseStatus ProcessStatusRequest
TrackMessage TrackMessageWithId UpdateTrackingAckToken
UpdateTrackingStatus UpdateTrackingToken UpdateTrackingWithAcknowledgement
UpdateTrackingWithResponse XMLDTD XMLExport
XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType
inspectMessage


Properties

• property AckOid as %ObjectIdentity;
InterSystems IRIS message Oid of the ack (if we had one)
• property AckToken as %String(MAXLEN=512);
Deferred response token (for the ack, if we have one)
• property ConversationId as %String(COLLATION="SQLUPPER",MAXLEN=512) [ Required ];
Conversation ID of the message we're tracking
• property Error as %Status;
Failure code (if the Status == failed)
• property ExpiresAt as %TimeStamp;
Time message expires at (if specified) in UTC
• property MessageId as %String(COLLATION="SQLUPPER",MAXLEN=512) [ Required ];
Message ID of the message we're tracking
• property RequestOid as %ObjectIdentity [ Required ];
InterSystems IRIS message Oid of the request
• property ResponseOid as %ObjectIdentity;
InterSystems IRIS message Oid of the response
• property Status as %String(DISPLAYLIST=",Received,Acknowledged,Pending,Complete,Failed",VALUELIST=",received,acknowledged,pending,complete,failed") [ Required ];
Message status
• property TimeAcknowledged as %TimeStamp;
Time acknowledged (UTC)
• property TimeCompleted as %TimeStamp;
Time completed (UTC)
• property TimeStarted as %TimeStamp [ InitialExpression = $$$timeUTC,Required ];
Time started (UTC)
• property Token as %String(MAXLEN=512);
Deferred response token (for the response)

Methods

• classmethod BeginTracking(pRequest As EnsLib.ebXML.Message, pStatus As %String, pToken As %String = "", pAckToken As %String = "") as %Status
Begin tracking of a request message
• classmethod IsMessageIdTracked(pMessageId As %String, ByRef pSC As %Status) as %Boolean
Check to see if we're tracking a message
• classmethod IsMessageTracked(pMessage As EnsLib.ebXML.Message, ByRef pSC As %Status) as %Boolean
Check to see if we're tracking a message
• classmethod MessageStatusToStatusResponseStatus(pStatus As %String) as %String
Convert an internal message status to a StatusResponse Status value
• classmethod ProcessStatusRequest(pRequest As EnsLib.ebXML.Message, pSessionId As %String, pDomain As %String, ByRef pResponse As EnsLib.ebXML.Message) as %Status
Process a StatusRequest, building the appropriate StatusResponse response
• classmethod TrackMessage(pRequest As EnsLib.ebXML.Message, ByRef pStatus As %TimeStamp, ByRef pTSStarted As %TimeStamp, ByRef pTSCompleted As %TimeStamp, ByRef pResponse As EnsLib.ebXML.Message, ByRef pToken As %String, ByRef pTSAcknowledged As %TimeStamp, ByRef pAcknowledgement As EnsLib.ebXML.Message, ByRef pAckToken As %String) as %Status
Track a request message by message and dig up the response object if it has one
• classmethod TrackMessageWithId(pMessageId As %String, ByRef pStatus As %String, ByRef pTSStarted As %TimeStamp, ByRef pTSCompleted As %TimeStamp, ByRef pResponseOid As %ObjectIdentity, ByRef pToken As %String, ByRef pTSAcknowledged As %TimeStamp, ByRef pAckOid As %ObjectIdentity, ByRef pAckToken As %String) as %Status
Track a a request message by id
• classmethod UpdateTrackingAckToken(pRequest As EnsLib.ebXML.Message, pAckToken As %String) as %Status
Update the tracking token for a message
• classmethod UpdateTrackingStatus(pRequest As EnsLib.ebXML.Message, pStatus As %String, ByRef pError As %Status) as %Status
Update the tracking status of a message
• classmethod UpdateTrackingToken(pRequest As EnsLib.ebXML.Message, pToken As %String) as %Status
Update the tracking token for a message
• classmethod UpdateTrackingWithAcknowledgement(pAcknowledgement As EnsLib.ebXML.Message, pStatus As %String, ByRef pAckToken As %String) as %Status
Update the tracking status of a message
• classmethod UpdateTrackingWithResponse(pResponse As EnsLib.ebXML.Message, pStatus As %String, ByRef pToken As %String) as %Status
Update the tracking status of a message
• classmethod inspectMessage(pMsg As EnsLib.ebXML.Message, ByRef pMessageHeader As EnsLib.ebXML.schema.msg.MessageHeader, ByRef pMsgId As %String, ByRef pConversationId As %String) as %Status
Basic message inspection

Indices

•index (ConversationIdIndex on ConversationId);
Index the conversation ID for fast retrieval
•index (ExpiryIndex on ExpiresAt);
Index the expiration date
•index (MessageIdIndex on MessageId) [Unique];
Index the message ID for fast retrieval
•index (RequestOidIndex on RequestOid) [Unique];
RequestOid Index
•index (StatusIndex on Status) [Type = bitmap];
Status Index


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.