User Tools

Site Tools


code:xmlrpc

Differences

This shows you the differences between two versions of the page.


Previous revision
Next revision
code:xmlrpc [2009/02/20 02:43] – Finished description of authentification pkubanek
Line 1: Line 1:
 +====== XML-RPC interface ======
 +
 +Standard XML-RPC is used. For specification of interface, please see [[http://www.xmlrpc.org|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:
 +
 +<code python>
 +import xmlrpclib
 +xmlRpcServer = xmlrpclib.ServerProxy("http://localhost", use_datetime = True)
 +res = xmlRpcServer.rts2.mainstatus ({'login': 'myname', 'password': 'test'})
 +print res
 +</code>
 +
 +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:
 +
 +<code python>
 +res = xmlRpcServer.rts2.login ({'login': 'myname', 'password': 'test'})
 +sess_id = res['session_id']
 +res = xmlRpcServer.rts2.mainstatus ({'session_id' : sess_id})
 +print res
 +</code>
 +
 +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 [[http://rts-2.svn.sf.net/viewvc/rts-2/trunk/rts-2/src/xmlrpc/r2x.h|xmlrpc/r2x.h]] file for probably more up-to date description.
 +
 +==== rts2.devices.list ====
 +
 +==== rts2.devices.values.list ====
 +
 +==== rts2.value.set ====
 +
 +Set RTS2 variable. Three parameter must be specified, with following meaning:
 +
 +  - Name of device for which variable will be set.
 +  - Name of variable which will be set.
 +  - 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)