XML-RPC, Remote procedure call

To post xml-rpc data to tibula the client should point to the main tibula directory (/index.php), content has to be text/xml utf-8 and structure has to follow xml-rpc specification standard.

methodName must be a valid and allowed ejaAction command.
ejaSession must be a valid session from an authorized user.
ejaValues must be a struct.

All params should be part of a struct each with a name and a value inside a member.

Tibula will return a valid xml-rpc response if ejaSession match a valid key and if methodName is allowed for the ejaSession's user otherwise with a general authorization failure.

Result views and sqlTable data will be in form of arrays with the first row containing the names of the columns and the remaining rows the retrieved values.

All answered values will be in the translated form, as from the web interface.

Samples

A valid xml-rpc request:

<?xml version="1.0"?>
<methodCall>
 <methodName>search</methodName>
 <params>
  <param>
   <value>
    <struct>
     <member><name>ejaModuleName</name><value>webContents</value></member>
     <member><name>ejaSession</name><value>webSessionKey</value></member>
     <member>
      <name>ejaValues</name>
      <value>
       <struct>
        <member><name>name</name><value>%</value></member>
       </struct>
      </value>
     </member>
    </struct>
   </value>
  </param> 
 </params>
</methodCall>

A valid xml-rpc response:
<?xml version="1.0"?>
<methodResponse> <params> <param> <value> <array> <data> <value>ejaId</value> <value>name</value> <value>webModule</value> <value>webArea</value> <value>webSite</value> <value>language</value> <value>hidden</value> </data> <data> <value><![CDATA[105]]></value> <value><![CDATA[xmlRpc]]></value> <value><![CDATA[tibula.net: content]]></value> <value><![CDATA[]]></value> <value><![CDATA[tibula.net]]></value> <value><![CDATA[]]></value> <value><![CDATA[0]]></value> </data> <data> <value><![CDATA[81]]></value> <value><![CDATA[]]></value> <value><![CDATA[tibula.net: autor]]></value> <value><![CDATA[]]></value> <value><![CDATA[tibula.net]]></value> <value><![CDATA[]]></value> <value><![CDATA[0]]></value> </data> </array> </value> </param> </params> </methodResponse>
A failure response:
<?xml version="1.0"?>
<methodResponse>
 <fault>
  <value>
   <string>unauthorized</string>
  </value>
 </fault>
</methodResponse>