Expecco RPC Interface: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Cg (Diskussion | Beiträge) |
Sv (Diskussion | Beiträge) (Weiterleitung nach Expecco RPC Interface/en erstellt) |
||
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
#redirect [[ Expecco RPC Interface/en ]] |
|||
== Introduction == |
|||
[[Category: Incomplete]] |
|||
Many of the operations of expecco can be remote-controlled via RPC interfaces. |
|||
[[Category: Empty]] |
|||
These interfaces allow for external programs to invoke functions of an expecco running in "slave-mode", |
|||
thereby allowing for expecco to be integrated into an existing QM infrastructure. |
|||
Currently, interfaces are available for: |
|||
== XML-RPC == |
|||
XML-RPC is a lightweight xml-based RPC mechanism, as documented in http://www.xmlrpc.com/spec. |
|||
XML-RPC uses HTTP as a transport mechanism. |
|||
Implementations for XML-RPC are very lightweight and available for many programming languages and systems. |
|||
The protocol is simple enough, to be even used by humans; for example, to invoke the '''system.versionInfo''' call as described below, send the following HTTP-POST-request to the service: |
|||
<CODE><PRE> |
|||
<?xml version="1.0"?> |
|||
<methodCall> |
|||
<methodName>system.listMethods</methodName> |
|||
<params></params> |
|||
</methodCall> |
|||
</PRE></CODE> |
|||
and get the response: |
|||
<CODE><PRE> |
|||
<?xml version="1.0"?> |
|||
<methodResponse> |
|||
<params> |
|||
<param> |
|||
<value> |
|||
<array> |
|||
<data> |
|||
<value>system.getCapabilities</value> |
|||
<value>system.listMethods</value> |
|||
<value>system.methodHelp</value> |
|||
... |
|||
</data> |
|||
</array> |
|||
</value> |
|||
</param> |
|||
</params> |
|||
</methodResponse> |
|||
</PRE></CODE> |
|||
==== Introspection ==== |
|||
The XML-RPC implementation supports the introspection interface: |
|||
*'''struct''' ''system.getCapabilities''( )<br>returns a structure containing info about supported RPC-interfaces and protocols |
|||
*'''struct''' ''system.versionInfo''( )<br>returns a structure containing version info about the RPC-service itself |
|||
*'''array''' ''system.listMethods''()<br>returns a vector of strings, comprising the names of supported RPC-entries. |
|||
*'''array''' ''system.methodSignature''( '''string''' )<br>returns a vector of strings, comprising the return-type and argument types names of the given RPC-entry. |
|||
*'''string''' ''system.methodHelp''( '''string''' )<br>returns an informative string, describing the functionality of the given RPC-entry. |
|||
use ''system.getCapabilities'' to get up-to-date information on the supported interfaces. |
|||
|
|||
== JSON-RPC == |
|||
JSON-RPC a lightweight JSON-based RPC mechanism, documented in http://json-rpc.org/wiki/specification |
|||
and http://groups.google.com/group/json-rpc/web/json-rpc-2-0. JSON is a very simple encoding, which is common among |
|||
JavaScript based browser applications. JSON can therefore be used to control a running expecco from an interactive web-page. |
|||
== SOAP == |
|||
SOAP is a not so lightweight xml-based RPC mechanism, which is well-documented and well-supported, especially in java enterprise and SOA environments. Specs are found in http://www.w3.org/TR/soap. Operations are described by a standard notation (WSDL), which can be parsed and used for automatic generation of service call interfaces. See http://www.w3.org/TR/wsdl for details. |
|||
The SOAP interface is also used by expeccoNET to control the execution of its remote testHosts. |
|||
== Telnet == |
|||
The Telnet protocol is a very simple, line-oriented ascii-command interface, which can even be entered by a human operator. Its simplicity enables even simple batch-files or shell scripts to communicate with expecco slaves. The telnet protocol is specified in RFC854 (http://www.ietf.org/rfc/rfc854.txt). |
|||
== HTTP == |
|||
It is also possible to talk to expecco directly via HTTP. |
|||
Thus, any webBrowser can be used to control an expecco slave. |
|||
<hr> |
|||
Back to [[Online_Documentation#Remote_Control_.28RPC.29_Interface_Reference | Online Documentation]] |
Aktuelle Version vom 8. Dezember 2015, 17:23 Uhr
Weiterleitung nach: