Skip to main content

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

Property Inventory

Method Inventory

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(), 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(), MessageIdIsValid(), MessageIdLogicalToDisplay(), MessageIdLogicalToOdbc(), MessageIdNormalize(), MessageIdSet()
property RequestOid as %ObjectIdentity [ Required ];
InterSystems IRIS message Oid of the request
Property methods: RequestOidGet(), RequestOidGetStored(), 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
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

Indexes

index ($MessageTracking on ) [Extent, Type = bitmap];
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 (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
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

Inherited Members

Inherited Methods

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
FeedbackOpens in a new tab