class Ens.Enterprise.MsgBank.Handshake
extends %RegisteredObject, %XML.Adaptor
Handshake message for initializing a connection to the archive server - goes both ways
parameter XMLIGNORENULL = 1;
XMLIGNORENULL allows the programmer to override the default XML handling
of empty strings for properties of type %String. By default (XMLIGNORENULL = 0),
empty strings in the XML input are stored as $c(0) and $c(0) is written to XML
as an empty tag. A missing tag in the XML input is always stored as "" and
"" is always output to XML as no tag.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty
strings are input as "", and both "" and $c(0) are output as empty tags
(i.e. <tag></tag>).
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty
strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0:
$c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior
of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport
and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is
the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes
the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma
from literal/encoded part of the format. Example values for format are "", ",ignorenull",
"literal,ignorenull" and "encoded,ignorenull".
Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
parameter XMLNAME = "SHAKE";
This parameter provides the default XMLNAME for the class. If it is
empty then the class name will be used to construct a default XML name.
The default XMLNAME is used as the top level tag
when exporting objects and the export context
did not provide an XML container name.
property CurrEvtId
as %Integer(XMLPROJECTION="ATTRIBUTE");
The current top Id on the client of Ens.Util.Log (the Event Log)
property CurrHdrId
as %Integer(XMLPROJECTION="ATTRIBUTE");
The current top Id on the client of Ens.MessageHeader
property IPAddress
as %String(MAXLEN="");
The node's IP Address and port
property LastEvtId
as %Integer(XMLPROJECTION="ATTRIBUTE");
The top Id on the client of Ens.Util.Log (the Event Log) that we archived
property LastHdrId
as %Integer(XMLPROJECTION="ATTRIBUTE");
The top Id on the client of Ens.MsgHeader that we archived
property MirrorName
as %String(XMLPROJECTION="ATTRIBUTE");
If not empty then this is a mirrored instance
property Node
as %String(MAXLEN="");
The node the Client remembers / the node the Server prescribes
property RawNode
as %String(MAXLEN="");
The node the Client would be if starting fresh
property Version
as %String(XMLPROJECTION="ATTRIBUTE") [ InitialExpression = "1.0" ];
The archive protocol version(s) the client proposes / the Server accepts
property WebServer
as %String(MAXLEN="");
The node's webserver IP Address, port, and URL root