SOAP

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Ethersex unterstützt seit kurzem das SOAP-Protokoll über HTTP, was eine einfachere Kommunikation des Ethersex mit Programmen jedweder Art erlaubt. Bislang musste immer der Umweg über eine TCP-Verbindung auf den ECMD-Port gegangen werden und die Text Ein-/Ausgabe geparst werden. Mit SOAP können die Funktionen direkt im Programm-Code verwendet werden.

Das Perl-Modul SOAP::Lite bietet eine Funktion namens +autodispatch, die die Funktionen transparent zur Verfügung stellt:

#!/usr/bin/perl
use SOAP::Lite +autodispatch => uri => 'http://ethersex.de/SOAP',
	proxy => 'http://192.168.23.244/soap';

print "Aktuelle Uptime des Ethersex: ", whm(), "\n";

# Perl hat selbst eine time() Funktion, von daher kann +autodispatch
# in diesem Fall nicht verwendet werden, sondern der RPC-Aufruf ist
# direkt zu erfassen.
print "Aktuelle Systemzeit (Unix-Timestamp): ", SOAP::Lite->self->time()->result, "\n";

Die Ausgabe des Programms ist erwartungsgemäß:

stesie@wuchtbrumme:~/p/ethersex$ ./soaptest.pl 
Aktuelle Uptime des Ethersex: 832
Aktuelle Systemzeit (Unix-Timestamp): 1250979228