User Tools

Site Tools


code:xmlrpc

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
code:xmlrpc [2009/02/20 00:00]
code:xmlrpc [2009/02/20 02:43]
pkubanek Finished description of authentification
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)