Skip to main content


class EnsLib.EDI.X12.Operation.SOAPOperation extends EnsLib.EDI.X12.Operation.ReplyStandard

Accepts X12 Messages and forwards them to a remote IP address, reading a response X12 Message object returned from the remote IP address if the GetReply setting is enabled.

Property Inventory

Method Inventory


parameter ADAPTER = EnsLib.SOAP.OutboundAdapter;
Inherited description: The type of adapter used to communicate with external systems
parameter SETTINGS = -Framing;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names


property Framing as %String [ InitialExpression = "AsciiLF" ];
Inherited description: X12 Document outbound framing protocol; options:
- None : No framing - Each document is output without prefix or suffix characters
- Epic02/03 : same as Ascii02/03 : EPIC sometimes uses this for TCP. Frame documents with an Ascii(02) prefix character before each document and an Ascii(03) suffix character
- Ascii[nn]/[mm] : Frame documents with an Ascii(nn) prefix character before each document and an Ascii(mm) suffix character, but no trailing Ascii(13) as in MLLP
- Ascii[nn] : Frame documents with an Ascii(nn) suffix character separating each document from the subsequent one.
- AsciiLF : Frame documents with Ascii(10) (Linefeed) separating each document from the subsequent one
- AsciiCR : Frame documents with an extra Ascii(13) (Carriage Return) separating each document from the subsequent one
- MLLP : Minimal Lower Level Protocol (HL7 style) - Frame each X12 Document with Ascii(11) prefix and Ascii(28,13) suffix
- MLLP[nn]/[mm] : Minimal Lower Level Protocol - Frame each X12 Document with Ascii(nn) prefix and Ascii(mm),Ascii(13) suffix
- MsgEnvelope : Use the document's Envelope property verbatim if it is present. The string <!--X12DOC--> if present in the Envelope will be replaced with the document content. Otherwise the document will simply follow the 'Envelope' text
- MLLPMsgEnvelope : Same as 'MsgEnvelope', but with MLLP prefix and suffix also around the document inside the 'Envelope'

Note: All Ascii values should be given in decimal; Ascii(120) ('x') is not allowed as an Ascii framing character. Also, if an asterisk (*) is appended to the framing specification, Flexible framing will be used in parsing received acknowledgement response messages. Otherwise the response messages will be expected with the same kind of framing as that specified here for outbound messages.

Property methods: FramingDisplayToLogical(), FramingGet(), FramingIsValid(), FramingLogicalToDisplay(), FramingLogicalToOdbc(), FramingNormalize(), FramingSet()
property Separators as %String (MAXLEN = 10) [ InitialExpression = $$$X12DefElementSeparator_$$$X12DefComponentSeparator_"^"_$$$X12DefSegTerminator_"\r\n" ];
Since SOAP requires valid XML characters the default repetition separator is put at ^ rather than Ascii 30
If this property is the empty string then the Separators for the message will be used.
Property methods: SeparatorsDisplayToLogical(), SeparatorsGet(), SeparatorsIsValid(), SeparatorsLogicalToDisplay(), SeparatorsLogicalToOdbc(), SeparatorsNormalize(), SeparatorsSet()


method OnInit() as %Status
Inherited description: This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
method SendMessage(pMsgOut As EnsLib.EDI.X12.Document, Output pMsgIn As EnsLib.EDI.X12.Document, pExpectedSequenceNumber As %String) as %Status

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab