EnsLib.ITK.Framework.Operation.SOAPOperation
class EnsLib.ITK.Framework.Operation.SOAPOperation extends EnsLib.ITK.Framework.Operation.SOAPOperationBase
This class is the internal ITK switchboard send operation. This class should not be used outside of the ITK SwitchboardProperty Inventory
Method Inventory
- DetermineAddressing()
- DetermineApplication()
- DetermineAsyncReplyAddresses()
- DetermineInvocationPattern()
- DetermineLogicalURL()
- DeterminePayload()
- DeterminePhysicalURL()
- GenerateResponse()
- GetUncollectedMessages()
- HandleSubscriptionPullRequest()
- MakeStandardResponse()
- OnITKRequest()
- SendWebRequest()
- StoreSubscriptionMessage()
- SwitchQueueMode()
- UpdateQueueStatus()
Parameters
parameter SETTINGS = ApplicationName,SubscriptionPull,SubscriptionPullLimit;
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 ApplicationName as %String;
The Application category for the Device that this Business Operation sends messages to.
Set this as ApplicationCategory:DeviceName e.g. Kiosk:WardAKiosk.
Where there is only one device in a category just specify the category e.g. Kiosk.
This is used as the Subscription Queue name if the operation is switched to Subscription Pull mode. And it is also used in the SLA Reporting. This is a free text and should be set to a suitable alias for the target application.
Property methods: ApplicationNameDisplayToLogical(), ApplicationNameGet(), ApplicationNameIsValid(), ApplicationNameLogicalToDisplay(), ApplicationNameLogicalToOdbc(), ApplicationNameNormalize(), ApplicationNameSet()
property SubscriptionPull as %Boolean [ InitialExpression = 0 ];
Flag to indicate if the receving system wants ITK to hold the messages untill requested.
Property methods: SubscriptionPullDisplayToLogical(), SubscriptionPullGet(), SubscriptionPullIsValid(), SubscriptionPullLogicalToDisplay(), SubscriptionPullNormalize(), SubscriptionPullSet()
property SubscriptionPullLimit as %Integer (MINVAL = -1) [ InitialExpression = -1 ];
Maximum number of messages served to a GetMessage request (-1 for no limit).
Property methods: SubscriptionPullLimitDisplayToLogical(), SubscriptionPullLimitGet(), SubscriptionPullLimitIsValid(), SubscriptionPullLimitLogicalToDisplay(), SubscriptionPullLimitNormalize(), SubscriptionPullLimitSet()
Methods
method DetermineAddressing(pRequest As EnsLib.ITK.Framework.RequestBase, ByRef fromURL As %String, ByRef relatesTo As %String) as %Status
This method determines the URL to send request into
method DetermineApplication(pRequest As EnsLib.ITK.Framework.RequestBase, ByRef appName As %String) as %Status
This method determines the application the business operation represents
method DetermineAsyncReplyAddresses(ByRef pReplyTo As %String, ByRef pFaultTo As %String) as %Status
This is called when forming the SOAP header if we have an asynchronous request.
We use the SenderRegistry to get the name of the business service that the
application is registered to use for the response and fault services
method DetermineInvocationPattern(pRequest As EnsLib.ITK.Framework.RequestBase, ByRef pattern As %String) as %Status
This method determines the invocation pattern for the request.
This must be implemented by the derived class
method DetermineLogicalURL(pRequest As EnsLib.ITK.Framework.RequestBase, ByRef pUrl As %String) as %Status
This method determines the logical url to send the request into
Note the default endpoint is used if there is one
method DeterminePayload(pRequest As EnsLib.ITK.Framework.RequestData, ByRef payload As %Stream.Object) as %Status
This method determines the payload. This is either as per the request
or if the request status is not OK then it forms a fault payload.
method DeterminePhysicalURL(pRequest As EnsLib.ITK.Framework.RequestBase, ByRef pUrl As %String) as %Status
The method determines the physical url to send the request into
method GenerateResponse(pRequest As EnsLib.ITK.Framework.RequestBase, pResponseInvocationPattern As %String, pBehaviourType As %String, sourceApplication As %String) as EnsLib.ITK.Framework.ResponseBase
This method builds a response message and populates it with specifics relevant to the context
method GetUncollectedMessages(pDoc As EnsLib.EDI.XML.Document, ByRef pResponseBody As %GlobalCharacterStream) as %Status
method HandleSubscriptionPullRequest(pService As EnsLib.ITK.Setup.ServiceDefinition, pRequest As EnsLib.ITK.Framework.RequestData, pResponse As EnsLib.ITK.Framework.ResponseData) as %Status
Called when the request is to pull something from the subscription
method MakeStandardResponse(ByRef pStream As %GlobalCharacterStream)
The helper method forms a simple ITK response containing the stream
as it's contents
method OnITKRequest(pStatus As %Status, pRequest As EnsLib.ITK.Framework.RequestData, tMessageId As %String, tBehaviourType As %String) as %Status
Overridden to save the request/response message away for later
correlation.
method SendWebRequest(pRequest As EnsLib.ITK.Framework.RequestData, pResponse As EnsLib.ITK.Framework.ResponseData) as %Status
Overridden to handle the case we are in subscription pull mode or
we need to get the messages for the subscription (i.e. a pull)
method StoreSubscriptionMessage(pService As EnsLib.ITK.Setup.ServiceDefinition, pRequest As EnsLib.ITK.Framework.RequestData, ByRef pResponse As EnsLib.ITK.Framework.ResponseData) as %Status
Called when the service is in subscription pull mode to simply store the request
method SwitchQueueMode(pDoc As EnsLib.EDI.XML.Document, ByRef pResponseBody As %GlobalCharacterStream) as %Status
method UpdateQueueStatus(pDoc As EnsLib.EDI.XML.Document, ByRef pResponseBody As %GlobalCharacterStream) as %Status
Inherited Members
Inherited Properties
- %AlertStartTime
- %ConfigName
- %ConfigQueueName
- %LastActionTime
- %LastHandledTime
- %LastReportedError
- %QuitTask
- %RequestHeader
- %SessionId
- %SuperSession
- %WarnedLatest
- %isShadow
- Adapter
- AlertGroups
- AlertOnError
- AlertRetryGracePeriod
- ArchiveIO
- BinarySOAP
- BusinessPartner
- DeferResponse
- EncryptionStandard
- EndpointBaseURL
- FailureTimeout
- FaultVocabulary
- IOLogEntry
- InactivityTimeout
- LastMessageSentTime
- NoFailWhileDisconnected
- QueueCountAlert
- QueueWaitAlert
- ReplyCodeActions
- RequestMessageId
- Retry
- RetryCount
- RetryInterval
- SendSuperSession
- SignHeaders
- SuspendMessage
- Throttle
- ThrottleDelay
- UseITKExtensions
- UserNameToken
- X509CertificateEncrypt
- X509CertificateSign
Inherited Methods
- %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()
- BaseITKSend()
- CloseIOLogEntry()
- DeferResponse()
- DetermineServiceProperties()
- DetermineWebServiceClient()
- EnumerateSettingsClose()
- EnumerateSettingsExecute()
- EnumerateSettingsFetch()
- GenerateSuperSession()
- GetDeferredResponseToken()
- GetMessageList()
- GetProductionSettingValue()
- GetProductionSettings()
- GetPropertyConnections()
- GetSettings()
- GetShadowInstance()
- IncludeSuperSession()
- MakeFaultDetail()
- MakeTechnicalNack()
- NewIOLogEntry()
- OnError()
- OnFailureTimeout()
- OnGenerateSuperSession()
- OnGetConnections()
- OnGetReplyAction()
- OnInit()
- OnKeepalive()
- OnMessage()
- OnMonitor()
- OnProductionStart()
- OnProductionStop()
- OnRequest()
- OnTearDown()
- PerformThrottle()
- QueueName()
- SaveIOLogEntry()
- SendAlert()
- SendDeferredResponse()
- SendRequestAsync()
- SendRequestSync()