Home > Class Reference > ENSLIB namespace > EnsLib.ebXML.Service.SOAPService
Private  Storage   


class EnsLib.ebXML.Service.SOAPService extends EnsLib.SOAP.Service, EnsLib.ebXML.Service.AbstractService

SOAP Service for ebXML


Parameters Properties Methods Queries Indices ForeignKeys Triggers
7 4 7


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
AddressingIn AddressingOut AlertGracePeriod
AlertGroups AlertOnError ArchiveIO
Attachments Base64LineBreaks BodyId
BodyXmlId BusinessPartner ContentId
ContentLocation DefaultTarget FaultAddressing
FaultHeaders GenerateSuperSessionID HeadersIn
HeadersOut IOLogEntry ImportHandler
InactivityTimeout IsMTOM Location
MTOMRequired MessageTypeClass MessageWithPayloadTypeClass
MsgClass OutputTypeAttribute Password
RMSession ReferencesInline RequestMessageStart
ResponseAttachments ResponseContentId ResponseContentLocation
SAXFlags SOAPInvoked SecurityContextToken
SecurityIn SecurityNamespace SecurityOut
ServiceDelegate ServiceDelegateClass SessionCookie
SoapFault SoapVersion ThrottleDelay
Timeout Transport Username
ValidateManifest WriteSOAPBodyMethod

%AddEnvelopeNamespace %AddToSaveSet %ClassIsLatestVersion
%ClassName %ConstructClone %DispatchClassMethod
%DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty
%Extends %GetParameter %IsA
%IsModified %New %NormalizeObject
%ObjectModified %OnClose %OnCreateRMSession
%OnNew %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified
%SuperSessionSet %ValidateObject AdapterName
AssignOneSetting CloseIOLogEntry ConvertParameter
CreateNewMessage CreateNewMessageWithPayload Decrypt
Encrypt EnumerateSettingsClose EnumerateSettingsExecute
EnumerateSettingsFetch EscapeHTML EscapeURL
FileWSDL ForceSessionId GenerateSuperSession
GetBodyId GetDeferredResponseToken GetMethod
GetProductionSettingValue GetProductionSettings GetPropertyConnections
GetSettings GetShadowInstance HyperEventCall
HyperEventHead Include Initialize
InitializeDelegate InsertHiddenField InsertHiddenFields
IsPrivate Link MakeFault
MakeFault12 MakeSecurityFault MakeStatusFault
Manifest NewIOLogEntry NormalizeName
OnAdapterHTTPResponse OnAuthorize OnCancelSecureConversation
OnError OnGenerateSuperSession OnGetConnections
OnInit OnKeepalive OnMonitor
OnPageError OnPostHTTP OnPostHyperEvent
OnPostWebMethod OnPreHyperEvent OnPreWebMethod
OnProcessInput OnProductionStart OnProductionStop
OnRequestMessage OnSOAPRequest OnStartSecureConversation
OnTearDown Page PopulateSuperSession
Process ProcessBinary ProcessBody
ProcessBodyNode ProcessResponseToRemoteMHS QueueName
QuoteJS Reset ReturnFault
ReturnMethodStatusFault ReturnOneWay ReturnStatusFault
RewriteURL RouteMessageToTargetProcessWithTimeout SaveIOLogEntry
SendAlert SendDeferredResponse SendRequestAsync
SendRequestSync ShowError StartTimer
StopTimer ThrowError UnescapeHTML
UnescapeURL WSAddSignatureConfirmation outputBody


• parameter ADAPTER;
Name of the adapter class - override this to "" if you want to use only the regular SOAP mechanism and not the custom-port InboundAdapter.
• parameter ARGUMENTSTYLE = "message";
The ARGUMENTSTYLE parameter may be used to specify a message format in which each request message part (not the elements of the part's type) is an argument and each response message part is a return value or output argument. The use of the message or wrapped format is specified by the ARGUMENTSTYLE parameter of the web service or web client class. The default value for ARGUMENTSTYLE is "wrapped" or "". Message style arguments are indicated by a value of "message". The ARGUMENTSTYLE parameter will be ignored if the SoapBindingStyle is not document.
• parameter NAMESPACE = "http://www.oasis-open.org/committees/ebxml-msg/schema/msg-header-2_0.xsd";
SOAP Namespace for the WebService Override this parameter in your subclass with the unique namespace URI of your organization.
• parameter SERVICENAME = "ebXML";
The SOAP name of this service. Override this parameter in the subclass.
• parameter SETTINGS = "MessageTypeClass,MessageWithPayloadTypeClass,ValidateManifest";
• parameter SOAPHEADERS = "AckRequested:EnsLib.ebXML.schema.msg.AckRequested,Acknowledgment:EnsLib.ebXML.schema.msg.Acknowledgment,ErrorList:EnsLib.ebXML.schema.msg.ErrorList,MessageHeader:EnsLib.ebXML.schema.msg.MessageHeader,MessageOrder:EnsLib.ebXML.schema.msg.MessageOrder,StatusRequest:EnsLib.ebXML.schema.msg.StatusRequest,StatusResponse:EnsLib.ebXML.schema.msg.StatusResponse,SyncReply:EnsLib.ebXML.schema.msg.SyncReply";
A list of supported SOAP headers is specified as a comma separated list of input header specifications. Each specification is of the form "headerName:headerClass" where headerName is the element name of the supported header and headerClass is the %SOAP.Header subclass that corresponds to that header. This list defines all headers supported in the SOAP request.
• parameter USEBOTH = 1;
Override this setting to allow your subclass to accept WebService requests on both the custom-port InboundAdapter and the regular SOAP mechanism. This parameter is ignored and the regular SOAP mechanism is enabled if the ADAPTER parameter is empty in your subclass.


• 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 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 EnsLib.SOAP.Service which is required.
• method CreateNewMessage() as EnsLib.ebXML.Message
Construct a new instance of an ebXML message
• method CreateNewMessageWithPayload() as EnsLib.ebXML.MessageWithPayload
Construct a new instance of an ebXML message with payload
• method GetMethod(pAction As %String) as %String
Get the method for this SoapAction No matter what the SoapAction, we always want to call the Manifest method.
• method Manifest(pManifest As EnsLib.ebXML.schema.msg.Manifest(XMLNAME="Manifest")) as EnsLib.ebXML.schema.msg.Manifest [ WebMethod ]
• method ProcessBodyNode(action As %String, body As %XML.Node, ByRef responseBody As %CharacterStream) as %Boolean
The ProcessBodyNode method of %SOAP.WebService will be passed an %XML.Node instance which is positioned at the child of the Body element of the SOAP which has the contents of the request body. ProcessBodyNode will return the response message body in another character stream.
The return value is 1 (true) if the body was processed and a response stream produced. If 0 is returned the %SOAP.MsgDescriptor class will be invoked as usual. If an error occurs during the processing of the request, then a fault should be returned in the usual way using the ReturnFault method.
The arguments to this method are:
action is the SOAPAction for the SOAP request.
body is an %XML.Node instance for the contents of the SOAP request body.
responseBody is a character stream to which the body of the SOAP response will be written.

• method outputBody(pProxy As %SOAP.Descriptor, pTag As %String) as %Status