Skip to main content

Ens.BusinessService

abstract class Ens.BusinessService extends Ens.Host, Ens.Util.IOLogger

Property Inventory

Method Inventory

Parameters

parameter APPDATAKEY = ProcessInputAsync;
parameter SETTINGS = GenerateSuperSessionID:Additional,AlertGracePeriod:Alerting;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

property %AlertStartTime as %Numeric [ InitialExpression = 0 ];
Property methods: %AlertStartTimeDisplayToLogical(), %AlertStartTimeGet(), %AlertStartTimeIsValid(), %AlertStartTimeLogicalToDisplay(), %AlertStartTimeNormalize(), %AlertStartTimeSet()
property %OutsideCreated as %String;
IO device name if created by CreateBusinessService from a CSP TCP job
Property methods: %OutsideCreatedDisplayToLogical(), %OutsideCreatedGet(), %OutsideCreatedIsValid(), %OutsideCreatedLogicalToDisplay(), %OutsideCreatedLogicalToOdbc(), %OutsideCreatedNormalize(), %OutsideCreatedSet()
property %PreserveSession as %Boolean [ InitialExpression = 0 ];
Put all inputs from this service into a single session
Property methods: %PreserveSessionDisplayToLogical(), %PreserveSessionGet(), %PreserveSessionIsValid(), %PreserveSessionLogicalToDisplay(), %PreserveSessionNormalize(), %PreserveSessionSet()
property %ProcessInputCalled as %Boolean [ Calculated ];
Deprecated - use %WaitForNextCallInterval
Property methods: %ProcessInputCalledDisplayToLogical(), %ProcessInputCalledIsValid(), %ProcessInputCalledLogicalToDisplay(), %ProcessInputCalledNormalize()
property %RequestHeader as Ens.MessageHeader;
Property methods: %RequestHeaderGet(), %RequestHeaderGetObject(), %RequestHeaderGetObjectId(), %RequestHeaderGetSwizzled(), %RequestHeaderIsValid(), %RequestHeaderNewObject(), %RequestHeaderSet(), %RequestHeaderSetObject(), %RequestHeaderSetObjectId(), %RequestHeaderUnSwizzle()
property %SuperSessionCreatedBeforeSession as %Boolean [ InitialExpression = 0 ];
This is used to indicate if the %SuperSession has been created from the inbound request and ought not to be cleared as part of %PreserveSession actions
Property methods: %SuperSessionCreatedBeforeSessionDisplayToLogical(), %SuperSessionCreatedBeforeSessionGet(), %SuperSessionCreatedBeforeSessionIsValid(), %SuperSessionCreatedBeforeSessionLogicalToDisplay(), %SuperSessionCreatedBeforeSessionNormalize(), %SuperSessionCreatedBeforeSessionSet()
property %WaitForNextCallInterval as %Boolean [ InitialExpression = 1 ];
Used to be named %ProcessInputCalled, with inverse sense
Property methods: %WaitForNextCallIntervalDisplayToLogical(), %WaitForNextCallIntervalGet(), %WaitForNextCallIntervalIsValid(), %WaitForNextCallIntervalLogicalToDisplay(), %WaitForNextCallIntervalNormalize(), %WaitForNextCallIntervalSet()
property AlertGracePeriod as %Numeric (MINVAL = 0) [ InitialExpression = 0 ];
When AlertOnError is True, refrain from alerting if it is not from ProcessInput() and the Service succeeds again within this number of seconds
Property methods: AlertGracePeriodDisplayToLogical(), AlertGracePeriodGet(), AlertGracePeriodIsValid(), AlertGracePeriodLogicalToDisplay(), AlertGracePeriodNormalize(), AlertGracePeriodSet()
property GenerateSuperSessionID as %Boolean [ InitialExpression = 0 ];
If this setting is enabled then generate a Super Session ID.
See method GenerateSuperSession() and user call back method OnGenerateSuperSession()in Ens.Host
Property methods: GenerateSuperSessionIDDisplayToLogical(), GenerateSuperSessionIDGet(), GenerateSuperSessionIDIsValid(), GenerateSuperSessionIDLogicalToDisplay(), GenerateSuperSessionIDNormalize(), GenerateSuperSessionIDSet()

Methods

method ForceSessionId() as %Status
Pre-allocate a request header object and an ID for it to represent a fresh session even before we get around to sending our first request. When we do get around to making our first SendRequest... call it will use this pre-allocated header.
method OnError(pStatus As %Status) as %Boolean
Override this method to provide custom error handling. Return 0 means skip standard AlertOnError behavior.
method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject, ByRef pHint As %String) as %Status
Override this method to process incoming data. Do not call SendRequestSync/Async() from outside this method (e.g. in a SOAP Service or a CSP page).
method OnTearDown() as %Status
This user callback method is called from %OnClose()
method PopulateSuperSession() as %Status
Generate a Super Session ID if it is currently empty and setting to generate enabled.
method SendAlert(pAlertRequest As Ens.AlertRequest) as %Status
Use this method to send an alert message
method SendRequestAsync(pTargetDispatchName As %String, pRequest As %Library.Persistent, pDescription As %String = "") as %Status
Use this method to dispatch a business invocation asynchronously
method SendRequestSync(pTargetDispatchName As %String, pRequest As %Library.Persistent, ByRef pResponse As %Library.Persistent, pTimeout As %Numeric = -1, pDescription As %String = "", ByRef pSendSyncHandling As %String) as %Status
Use this method to dispatch a business invocation synchronously

Inherited Members

Inherited Properties

Inherited Methods

Subclasses

FeedbackOpens in a new tab