Xmarc Collaborative Messaging - Service Interface

An Xmarc messaging service is a Java-based application running under the control of the Xmarc Service Manager. It is driven by http get/post data packets.

HTTP Posts

Input is in the form of commands plus binary parameters using Xmarc's binary hose protocol. Output takes the form of hose-wrapped eim packets shipped back to the client, with the option of unsolicited asychronous sending of binary hose packets to clients connected on nailed-up sockets.

Application writers do not need to worry about these commands because the API encapsulates it all.

The HTTP Post command set is as follows:

CommandDescription
*logina user logs in, providing host/port connection details
*logouta user logs out
*open_sessiona user wants to open a session
*close_sessiona user wants to close a session
*invitea user invites other users to join a session
*accepta user accepts an invitation to join a session
*declinea user declines in invitation to join a session
*joina user wants to join a session uninvited
*leavea user wants to leave a session
*puta user wants to send a message to other users
*geta user wants to get and process a message pending
*cancela user wants to cancel a message pending
*query_groupsget a list of groups
*query_sessionsget a list of sessions
*query_titleget the title (description) of the service
*query_usersget a list of logged on/out users in a session

HTTP Gets

These are for admin purposes, input is via url parameters in the form &cmd=whatever. Output is raw html shipped back to a client (a browser).

The HTTP Get command set is as follows:

CommandDescription
&cmd=summary display a service monitoring page to see who is logged on to which sessions etc.