class EnsLib.TCP.Framed.PassthroughService
extends Ens.BusinessService
parameter ADAPTER = "EnsLib.TCP.FramedInboundAdapter";
The type of adapter used to communicate with external systems
parameter CONTAINERCLASS = "Ens.StreamContainer";
parameter SETTINGS = "TargetConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},SendAcknowledgement:Connection,AckOK:Connection,AckNotOK:Connection,SyncCall:Connection,SyncCallTimeout:Connection";
List of properties can be set as settings in the configuration file
format is a comma separated list of property names
property AckNotOK
as %String [ InitialExpression = "21" ];
Comma separated list of control characters that indicate
message not received OK
Can be Decimal or Hex if have preceding 'x'
For example 21 or x15
property AckNotOKAsChars
as %String [ Transient ];
Used to store actual Acknowledgement Not OK characters
property AckOK
as %String [ InitialExpression = "6" ];
Comma separated list of control characters that indicate
message received OK
Can be Decimal or Hex if have preceding 'x'
For example 6 or x06
property AckOKAsChars
as %String [ Transient ];
Used to store actual Acknowledgement OK characters
property SendAcknowledgement
as %Boolean [ InitialExpression = 1 ];
Send AckOK/ActNotOK characters
property SyncCall
as %Boolean [ InitialExpression = 0 ];
Send the inbound message stream to the target Synchronously.
The default is Asynchronously and any Acknowledgement is controlled
by the SendAcknowledgement setting.
If the message is sent synchronously then the response from the
target called is used as the Acknowledgement if it is a stream.
If it is not a stream then the SendAcknowledgement settings are used
and the ACK not OK character(s) are sent.
If there are more than one synchronous targets then the last response
is used as the Acknowledgement.
property SyncCallTimeout
as %Integer [ InitialExpression = -1 ];
If the message is passed to the target as SyncCall then this
is the timeout to wait for a response from the target.
The default is unlimited timeout.
property TargetConfigNames
as %String(MAXLEN=1000);
Configuration item(s) to which to send file stream messages
classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Return an array of connections for drawing lines on the config diagram
method OnInit()
as %Status
This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
method OnProcessInput(pInput As %Stream.Object, pOutput As %Stream.Object)
as %Status
Wrap the input stream object in a StreamContainer message object and send it.
If the SyncCall setting is true, send synchronously; otherwise send async
to ensure that we don't return to the Adapter and let it delete the stream before the
target Config Item is finished processing it.
method resolveAndIndex(pDoc As %Persistent)
as %Status
Initialize and perform requested validation if any