Skip to main content


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

SOAP Service for ebXML

Property Inventory

Method Inventory


parameter ADAPTER;
Inherited description: 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;
Inherited description: 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 =;
Inherited description: SOAP Namespace for the WebService Override this parameter in your subclass with the unique namespace URI of your organization.
parameter SERVICENAME = ebXML;
Inherited description: 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;
Inherited description: 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;
Inherited description: 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 methods: MessageTypeClassDisplayToLogical(), MessageTypeClassGet(), MessageTypeClassIsValid(), MessageTypeClassLogicalToDisplay(), MessageTypeClassLogicalToOdbc(), MessageTypeClassNormalize(), MessageTypeClassSet()
property MessageWithPayloadTypeClass as Ens.DataType.Class (EXTENDS = "EnsLib.ebXML.MessageWithPayload") [ InitialExpression = "EnsLib.ebXML.MessageWithPayload" , Required ];
Default ebXML message type
Property methods: MessageWithPayloadTypeClassDisplayToLogical(), MessageWithPayloadTypeClassGet(), MessageWithPayloadTypeClassIsValid(), MessageWithPayloadTypeClassLogicalToDisplay(), MessageWithPayloadTypeClassLogicalToOdbc(), MessageWithPayloadTypeClassNormalize(), MessageWithPayloadTypeClassSet()
property ValidateManifest as %Boolean [ InitialExpression = 0 ];
Flag to enable validation of the Manifest for messages with payload
Property methods: ValidateManifestDisplayToLogical(), ValidateManifestGet(), ValidateManifestIsValid(), ValidateManifestLogicalToDisplay(), ValidateManifestNormalize(), ValidateManifestSet()


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

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab