SOAP
Version vom 25. September 2009, 20:30 Uhr von Habo (Diskussion | Beiträge)
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