Command channel

XProtect Mobile Server communication channel is used for sending commands to the server.
Each command contains ConnectionId and one or multiple Commands. Every command has Type, Name, Input parameters (plus output parameters, result and error string in response part).

XML Command format

XML Node description:

Commands are made in such common way in order to write one and only parsing component, which to be easily extensible to support more/less needed input/output parameters. There is a commands separator (separator between different XMLs send on the link), which is two new lines (ā€œ\r\n\r\nā€). It should be possible for the client to send multiple commands before to retrieve any server response).

Request / Response example

Client should always send an HTTP request which contains exactly one XML message, for example:

Each request is matched by a corresponding response:

Processing Messages

Xprotect Mobile Server supports a mode in which a response may be received as a sequence of messages. This mode is controlled via ProcessingMessages input parameter of the Connect command. When enabled and a command execution takes time, intermediate messages will be send by the server:

Note that only the final message will be tagged signaling end of transaction. Intermediate messages will be labeled . Like the rest, messages will repeat the command but will only contain . With these two attributes, processing messages can be uniquely matched to the corresponding instance of the request.