Home > Class Reference > ENSLIB namespace > EnsLib.ebXML.MessageTracking

EnsLib.ebXML.MessageTracking

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

SQL Table Name: EnsLib_ebXML.MessageTracking

A class for tracking the progress of ebXML messages

Properties

property AckOid as %ObjectIdentity;
InterSystems IRIS message Oid of the ack (if we had one)
Property methods: AckOidGet(), AckOidGetStored(), AckOidIsValid(), AckOidLogicalToXSD(), AckOidSet(), AckOidXSDToLogical()
property AckToken as %String (MAXLEN = 512);
Deferred response token (for the ack, if we have one)
Property methods: AckTokenDisplayToLogical(), AckTokenGet(), AckTokenGetStored(), AckTokenIsValid(), AckTokenLogicalToDisplay(), AckTokenLogicalToOdbc(), AckTokenNormalize(), AckTokenSet()
property ConversationId as %String (COLLATION = "SQLUPPER", MAXLEN = 512) [ Required ];
Conversation ID of the message we're tracking
Property methods: ConversationIdDisplayToLogical(), ConversationIdGet(), ConversationIdGetStored(), ConversationIdIndexExists(), ConversationIdIsValid(), ConversationIdLogicalToDisplay(), ConversationIdLogicalToOdbc(), ConversationIdNormalize(), ConversationIdSet()
property Error as %Status;
Failure code (if the Status == failed)
Property methods: ErrorGet(), ErrorGetStored(), ErrorIsValid(), ErrorLogicalToOdbc(), ErrorLogicalToXSD(), ErrorSet(), ErrorXSDToLogical()
property ExpiresAt as %TimeStamp;
Time message expires at (if specified) in UTC
Property methods: ExpiresAtDisplayToLogical(), ExpiresAtGet(), ExpiresAtGetStored(), ExpiresAtIsValid(), ExpiresAtLogicalToDisplay(), ExpiresAtLogicalToXSD(), ExpiresAtNormalize(), ExpiresAtOdbcToLogical(), ExpiresAtSet(), ExpiresAtXSDToLogical()
property MessageId as %String (COLLATION = "SQLUPPER", MAXLEN = 512) [ Required ];
Message ID of the message we're tracking
Property methods: MessageIdDisplayToLogical(), MessageIdGet(), MessageIdGetStored(), MessageIdIndexCheck(), MessageIdIndexCheckUnique(), MessageIdIndexDelete(), MessageIdIndexExists(), MessageIdIndexOpen(), MessageIdIndexSQLCheckUnique(), MessageIdIndexSQLExists(), MessageIdIndexSQLFindPKeyByConstraint(), MessageIdIndexSQLFindRowIDByConstraint(), MessageIdIsValid(), MessageIdLogicalToDisplay(), MessageIdLogicalToOdbc(), MessageIdNormalize(), MessageIdSet()
property RequestOid as %ObjectIdentity [ Required ];
InterSystems IRIS message Oid of the request
Property methods: RequestOidGet(), RequestOidGetStored(), RequestOidIndexCheck(), RequestOidIndexCheckUnique(), RequestOidIndexDelete(), RequestOidIndexExists(), RequestOidIndexOpen(), RequestOidIndexSQLCheckUnique(), RequestOidIndexSQLExists(), RequestOidIndexSQLFindPKeyByConstraint(), RequestOidIndexSQLFindRowIDByConstraint(), RequestOidIsValid(), RequestOidLogicalToXSD(), RequestOidSet(), RequestOidXSDToLogical()
property ResponseOid as %ObjectIdentity;
InterSystems IRIS message Oid of the response
Property methods: ResponseOidGet(), ResponseOidGetStored(), ResponseOidIsValid(), ResponseOidLogicalToXSD(), ResponseOidSet(), ResponseOidXSDToLogical()
property Status as %String (DISPLAYLIST = ",Received,Acknowledged,Pending,Complete,Failed", VALUELIST = ",received,acknowledged,pending,complete,failed") [ Required ];
Message status
Property methods: StatusDisplayToLogical(), StatusGet(), StatusGetStored(), StatusIsValid(), StatusLogicalToDisplay(), StatusLogicalToOdbc(), StatusNormalize(), StatusSet()
property TimeAcknowledged as %TimeStamp;
Time acknowledged (UTC)
Property methods: TimeAcknowledgedDisplayToLogical(), TimeAcknowledgedGet(), TimeAcknowledgedGetStored(), TimeAcknowledgedIsValid(), TimeAcknowledgedLogicalToDisplay(), TimeAcknowledgedLogicalToXSD(), TimeAcknowledgedNormalize(), TimeAcknowledgedOdbcToLogical(), TimeAcknowledgedSet(), TimeAcknowledgedXSDToLogical()
property TimeCompleted as %TimeStamp;
Time completed (UTC)
Property methods: TimeCompletedDisplayToLogical(), TimeCompletedGet(), TimeCompletedGetStored(), TimeCompletedIsValid(), TimeCompletedLogicalToDisplay(), TimeCompletedLogicalToXSD(), TimeCompletedNormalize(), TimeCompletedOdbcToLogical(), TimeCompletedSet(), TimeCompletedXSDToLogical()
property TimeStarted as %TimeStamp [ InitialExpression = $$$timeUTC , Required ];
Time started (UTC)
Property methods: TimeStartedDisplayToLogical(), TimeStartedGet(), TimeStartedGetStored(), TimeStartedIsValid(), TimeStartedLogicalToDisplay(), TimeStartedLogicalToXSD(), TimeStartedNormalize(), TimeStartedOdbcToLogical(), TimeStartedSet(), TimeStartedXSDToLogical()
property Token as %String (MAXLEN = 512);
Deferred response token (for the response)
Property methods: TokenDisplayToLogical(), TokenGet(), TokenGetStored(), TokenIsValid(), TokenLogicalToDisplay(), TokenLogicalToOdbc(), TokenNormalize(), TokenSet()

Methods

classmethod BeginTracking(pRequest As EnsLib.ebXML.Message, pStatus As %String, pToken As %String = "", pAckToken As %String = "") as %Status [ Language = objectscript ]
Begin tracking of a request message
classmethod IsMessageIdTracked(pMessageId As %String, ByRef pSC As %Status) as %Boolean [ Language = objectscript ]
Check to see if we're tracking a message
classmethod IsMessageTracked(pMessage As EnsLib.ebXML.Message, ByRef pSC As %Status) as %Boolean [ Language = objectscript ]
Check to see if we're tracking a message
classmethod MessageStatusToStatusResponseStatus(pStatus As %String) as %String [ Language = objectscript ]
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 [ Language = objectscript ]
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 [ Language = objectscript ]
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 [ Language = objectscript ]
Track a a request message by id
classmethod UpdateTrackingAckToken(pRequest As EnsLib.ebXML.Message, pAckToken As %String) as %Status [ Language = objectscript ]
Update the tracking token for a message
classmethod UpdateTrackingStatus(pRequest As EnsLib.ebXML.Message, pStatus As %String, ByRef pError As %Status) as %Status [ Language = objectscript ]
Update the tracking status of a message
classmethod UpdateTrackingToken(pRequest As EnsLib.ebXML.Message, pToken As %String) as %Status [ Language = objectscript ]
Update the tracking token for a message
classmethod UpdateTrackingWithAcknowledgement(pAcknowledgement As EnsLib.ebXML.Message, pStatus As %String, ByRef pAckToken As %String) as %Status [ Language = objectscript ]
Update the tracking status of a message
classmethod UpdateTrackingWithResponse(pResponse As EnsLib.ebXML.Message, pStatus As %String, ByRef pToken As %String) as %Status [ Language = objectscript ]
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 [ Language = objectscript ]
Basic message inspection

Inherited Methods

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

Indexes

index (ConversationIdIndex on ConversationId);
Index the conversation ID for fast retrieval
Index methods: ConversationIdIndexExists()
index (ExpiryIndex on ExpiresAt);
Index the expiration date
Index methods: ExpiryIndexExists()
index (MessageIdIndex on MessageId) [Unique];
Index the message ID for fast retrieval
Index methods: MessageIdIndexCheck(), MessageIdIndexCheckUnique(), MessageIdIndexDelete(), MessageIdIndexExists(), MessageIdIndexOpen(), MessageIdIndexSQLCheckUnique(), MessageIdIndexSQLExists(), MessageIdIndexSQLFindPKeyByConstraint(), MessageIdIndexSQLFindRowIDByConstraint()
index (RequestOidIndex on RequestOid) [Unique];
RequestOid Index
Index methods: RequestOidIndexCheck(), RequestOidIndexCheckUnique(), RequestOidIndexDelete(), RequestOidIndexExists(), RequestOidIndexOpen(), RequestOidIndexSQLCheckUnique(), RequestOidIndexSQLExists(), RequestOidIndexSQLFindPKeyByConstraint(), RequestOidIndexSQLFindRowIDByConstraint()
index (StatusIndex on Status) [Type = bitmap];
Status Index

Storage

Storage Model: Storage (EnsLib.ebXML.MessageTracking)

^EnsLib.ebXML.MessageTrackingD(ID)
=
%%CLASSNAME
MessageId
TimeReceived
TimeProcessed
Status
ExpiresAt
RequestOid
ResponseOid
TimeStarted
TimeCompleted
Token
ConversationId
AckOid
TimeAcknowledged
AckToken
Error