User Tools

Site Tools


code:xmlrpc

XML-RPC interface

Standard XML-RPC is used. For specification of interface, please see xmlrpc.org site. There are general rules for calls:

  • each call must as first parameter pass authentication token. More on that bellow.
  • if some error occurs during execution of command, an XML-RPC error is raised

Authentication token

As first parameter to every XML-RPC call, you must pass an identification token. It is always a structure, and holds either credentials, or session ID.

Credentials are passed in structure under login and password fields. So for example if you are calling rts2.mainstatus, the procedure in Python will be:

import xmlrpclib
xmlRpcServer = xmlrpclib.ServerProxy("http://localhost", use_datetime = True)
res = xmlRpcServer.rts2.mainstatus ({'login': 'myname', 'password': 'test'})
print res

Session ID can be obtained by rts2.login call. Then it should be passed as session_id parameter to all subsequent calls. Following example demonstrates how to use session_id:

res = xmlRpcServer.rts2.login ({'login': 'myname', 'password': 'test'})
sess_id = res['session_id']
res = xmlRpcServer.rts2.mainstatus ({'session_id' : sess_id})
print res

Session id's expire after inactivity. The time of inactivity is defined in response field 'expires'. Before session ID expires, you can renew it by making call to rts2.login, with session_id as only parameter.

Commands

There is description of commands. Please see also xmlrpc/r2x.h file for probably more up-to date description.

rts2.login

This call accepts two parameters. The first is login name, the second is password. Returns session id, which can be used in subsequent calls to authorize them.

rts2.devices.list

rts2.devices.values.list

rts2.value.set

Set RTS2 variable. Three parameter must be specified, with following meaning:

  1. Name of device for which variable will be set.
  2. Name of variable which will be set.
  3. Value as string.

rts2.values.list

rts2.targets.list

rts2.targets.info

rts2.observations.list

rts2.images.list

rts2.messages.get

rts2.user.login

User login. Provides username and password, out true/false - true if login is OK.

rts2.user.telma.new

New user. Provides all user parameters (login, email, password,..), out true/false - true if OK

code/xmlrpc.txt · Last modified: 2009/02/20 00:00 (external edit)