Home > Class Reference > ENSLIB namespace > EnsLib.ebXML.Operation.SOAPOperation
Private  Storage   


class EnsLib.ebXML.Operation.SOAPOperation extends Ens.BusinessOperation, EnsLib.ebXML.Operation.AbstractOperationDelegate

ebXML outbound SOAP operation


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 9 7


This is an Ensemble Business Operation class.

The associated Adapter class is EnsLib.SOAP.OutboundAdapter.

EnsLib.ebXML.Message EnsLib.ebXML.Message

%AlertStartTime %ConfigName %ConfigQueueName %LastActionTime
%LastHandledTime %LastReportedError %QuitTask %RequestHeader
%SessionId %SuperSession %WarnedLatest %isShadow
Adapter AlertGroups AlertOnError AlertRetryGracePeriod
Allow202WithContent ArchiveIO BusinessPartner CustomSOAPAction
DeferResponse FailureTimeout HandleErrorListAsFatal IOLogEntry
InactivityTimeout MessageTypeClass MessageWithPayloadTypeClass NoFailWhileDisconnected
OperationDelegate OperationDelegateClass QueueCountAlert QueueWaitAlert
ReplyCodeActions Retry RetryCount RetryInterval
SendSuperSession SuspendMessage ThrottleDelay ValidateManifest

%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 CreateNewMessage CreateNewMessageWithPayload
DeferResponse EnumerateSettingsClose EnumerateSettingsExecute EnumerateSettingsFetch
GenerateSuperSession GetDeferredResponseToken GetMessageList GetProductionSettingValue
GetProductionSettings GetPropertyConnections GetSettings GetShadowInstance
IncludeSuperSession InitializeDelegate NewIOLogEntry OnError
OnFailureTimeout OnGenerateSuperSession OnGetConnections OnGetReplyAction
OnInit OnKeepalive OnMessage OnMonitor
OnProductionStart OnProductionStop OnTearDown ProcessTargetMHSResponse
QueueName RouteMessageToTargetMHS SaveIOLogEntry SendAlert
SendDeferredResponse SendMessage SendRequestAsync SendRequestSync


• parameter ADAPTER = "EnsLib.SOAP.OutboundAdapter";
The type of adapter used to communicate with external systems
• parameter INVOCATION = "Queue";
2 modes: Queue, InProc
• parameter OPERATIONDELEGATE = "EnsLib.ebXML.Operation.AbstractOperationDelegate";
• parameter SETTINGS = "CustomSOAPAction,OperationDelegateClass,MessageTypeClass,MessageWithPayloadTypeClass,ValidateManifest,Allow202WithContent,HandleErrorListAsFatal,-WebServiceClientClass";
List of properties can be set as settings in the configuration file format is a comma separated list of property names
• parameter WEBSERVICECLIENTCLASS = "EnsLib.ebXML.Operation.SOAPServiceClient";
Web services client class


• property Allow202WithContent as %Boolean [ InitialExpression = 1 ];
Allow HTTP 202 response to have content (note: this is non-standard)
• property CustomSOAPAction as %String(MAXLEN=512);
Custom SOAPAction header (defaults to ebXML)
• property HandleErrorListAsFatal as %Boolean [ InitialExpression = 1 ];
Flag to convert an ebXML ErrorList into a %Status
• property MessageTypeClass as Ens.DataType.Class(EXTENDS="EnsLib.ebXML.Message") [ InitialExpression = "EnsLib.ebXML.Message",Required ];
Default ebXML message type
• property MessageWithPayloadTypeClass as Ens.DataType.Class(EXTENDS="EnsLib.ebXML.MessageWithPayload") [ InitialExpression = "EnsLib.ebXML.MessageWithPayload",Required ];
Default ebXML message type
• property OperationDelegate as EnsLib.ebXML.Operation.AbstractOperationDelegate [ InitialExpression = $this ];
• property OperationDelegateClass as Ens.DataType.Class(EXTENDS="EnsLib.ebXML.Operation.AbstractOperationDelegate");
Name of a class that implements the EnsLib.ebXML.Operation.AbstractOperationDelegate interface that we can call to do routing
• property ValidateManifest as %Boolean [ InitialExpression = 0 ];
Flag to enable validation of the Manifest for messages with payload


• method %OnNew(pConfigName As %RegisteredObject) as %Status
Because we implement a delegate, we must "fix" %OnNew otherwise, we get the implementation from Ens.AbstractDelegate and not the one from Ens.Host which is required.
• method CreateNewMessage() as EnsLib.ebXML.Message
Construct a new instance of an ebXML message (no payload)
• method CreateNewMessageWithPayload() as EnsLib.ebXML.MessageWithPayload
Construct a new instance of an ebXML message with payload
• method OnInit() as %Status
This user callback method is called just after %OnNew()
• method ProcessTargetMHSResponse(pSender As %RegisteredObject, pRequest As EnsLib.ebXML.Message, ByRef pResponse As EnsLib.ebXML.Message) as %Status
Default implemention of the response processing
• method RouteMessageToTargetMHS(pSender As %RegisteredObject, ByRef pRequest As EnsLib.ebXML.Message, ByRef pTargetUrl As %String, ByRef pSOAPAction As %String) as %Status
Default implementation for the routing delegate
• method SendMessage(pRequest As EnsLib.ebXML.Message, ByRef pResponse As EnsLib.ebXML.Message) as %Status
Send an ebXML message to a remote MHS via an HTTP POST operation (note that since ebXML messages are packaged in a SOAP wrapper, this will look like a web service request, although it's technically not). Depending on the presence of a SyncReply SOAP header, we may get a response from the remote MHS, or just nothing.