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


Parameters Properties Methods Queries Indices ForeignKeys Triggers
2 9 8


This is an Ensemble Business Service class.

%AlertStartTime %ConfigName %ConfigQueueName
%LastActionTime %LastHandledTime %LastReportedError
%OutsideCreated %PreserveSession %ProcessInputCalled
%QuitTask %RequestHeader %SessionId
%SuperSession %SuperSessionCreatedBeforeSession %WaitForNextCallInterval
%WarnedLatest %isShadow Adapter
AlertGracePeriod AlertGroups AlertOnError
ArchiveIO BusinessPartner GenerateSuperSessionID
IOLogEntry InactivityTimeout ThrottleDelay
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OnClose %OnNew
%OriginalNamespace %PackageName %RemoveFromSaveSet %SerializeObject
%SetModified %SuperSessionSet %ValidateObject AdapterName
AssignOneSetting CloseIOLogEntry EnumerateSettingsClose EnumerateSettingsExecute
EnumerateSettingsFetch ForceSessionId GenerateSuperSession GetDeferredResponseToken
GetProductionSettingValue GetProductionSettings GetPropertyConnections GetSettings
GetShadowInstance NewIOLogEntry OnError OnGenerateSuperSession
OnGetConnections OnInit OnKeepalive OnMonitor
OnProcessInput OnProductionStart OnProductionStop OnTearDown
PopulateSuperSession QueueName SaveIOLogEntry SendAlert
SendDeferredResponse SendRequestAsync SendRequestSync
Ens.Activity.Service.TCPCounted Ens.Alerting.AlertMonitor Ens.BusinessDuplex
Ens.BusinessMetric Ens.Enterprise.MonitorService Ens.Enterprise.MsgBank.TCPService
Ens.ManagerService Ens.MonitorService Ens.ProductionMonitorService
Ens.ScheduleService EnsLib.DICOM.Service.File EnsLib.DotNetGateway.Service
EnsLib.EDI.ASTM.Service.Standard EnsLib.EDI.EDIFACT.Service.Standard EnsLib.EDI.X12.Service.Standard
EnsLib.EDI.XML.Service.Standard EnsLib.FTP.PassthroughService EnsLib.File.PassthroughService
EnsLib.HL7.Service.Standard EnsLib.HTTP.Service EnsLib.ITK.DTS.Framework.Service.DTSConfigFile
EnsLib.ITK.DTS.Framework.Service.DTSControlFile EnsLib.ITK.DTS.Framework.Service.DTSDataFile EnsLib.ITK.Framework.Service.PurgeCallBackService
EnsLib.ITK.Framework.Service.PurgeSuspendedService EnsLib.JMS.Service EnsLib.JavaGateway.Service
EnsLib.MQSeries.PassthroughService EnsLib.Printing.PrintService EnsLib.PushNotifications.AppService
EnsLib.RecordMap.Service.Base EnsLib.RecordMap.Service.ComplexBatchStandard EnsLib.SOAP.Service
EnsLib.TCP.Framed.PassthroughService EnsLib.TCP.PassthroughService EnsLib.TCP.StatusService
EnsLib.Testing.Service EnsLib.XML.Object.Service.Standard EnsLib.XSLT.TransformedService


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


property %AlertStartTime as %Numeric [ InitialExpression = 0 ];
property %OutsideCreated as %String;
IO device name if created by CreateBusinessService from a CSP TCP job
property %PreserveSession as %Boolean [ InitialExpression = 0 ];
Put all inputs from this service into a single session
property %ProcessInputCalled as %Boolean [ Calculated ];
Deprecated - use %WaitForNextCallInterval
property %RequestHeader as Ens.MessageHeader;
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 %WaitForNextCallInterval as %Boolean [ InitialExpression = 1 ];
Used to be named %ProcessInputCalled, with inverse sense
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 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


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 an Ensemble business invocation asynchronously
method SendRequestSync(pTargetDispatchName As %String, pRequest As %Library.Persistent, ByRef pResponse As %Library.Persistent, pTimeout As %Numeric = -1, pDescription As %String = "") as %Status
Use this method to dispatch an Ensemble business invocation synchronously
Copyright © 1997-2020 InterSystems Corporation, Cambridge, MA