XML Client Interface (xci)
The SNFMulti engine provides an XML based client interface via TCP. The XCI protocol is based on the concept of sending one simple, structured XML message as a request and receiving a similar, simple, structured XML response. This makes the interface easy to understand, debug, and develop.
An XCI message begins with <snf><xci> and ends with </xci></snf>\n (\n == new line character). In practice, the parser at each end of the XCI channel copies lines of text into their respective buffers until they receive the text </snf> followed by a newline character. Then the buffer is interpreted as a complete XML formatted message. The contents of the message indicate the type of request and its parameters or the type of response and the corresponding data.
For each request an SNF client is expected to:
- Open a TCP connection to localhost port 9001.
- Send a properly formatted XCI request (usually a single line of XML text).
- Receive a properly formatted XCI response.
- Close the TCP connection.
There are three kinds of requests currently understood by the SNFMulti engine.
- GBUdb Requests - manipulate and query the GBUdb engine.
- Message Scan Requests - perform message file scans and return results.
- Report Requests - request status.second, status.minute, and status.hour data.
- Server and Status Requests - shutdown the SNFMulti engine or request status data.
Note: As a debugging and development aid, you can run the SNFClient utility in debug mode. This will show you the entire XCI transaction (both sides) for each type of request. Please reference the SNFClient documentation for more details.
Please email support@armresearch.com with any questions.