SOAP: Unterschied zwischen den Versionen
Stella (Diskussion | Beiträge) (Die Seite wurde neu angelegt: <source lang="perl">#!/usr/bin/perl use SOAP::Lite +autodispatch => uri => 'http://ethersex.de/SOAP', proxy => 'http://192.168.23.244/soap'; print "Aktuelle Uptime de...) |
Stella (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
+ | 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: | ||
+ | |||
<source lang="perl">#!/usr/bin/perl | <source lang="perl">#!/usr/bin/perl | ||
use SOAP::Lite +autodispatch => uri => 'http://ethersex.de/SOAP', | use SOAP::Lite +autodispatch => uri => 'http://ethersex.de/SOAP', | ||
Zeile 9: | Zeile 13: | ||
# direkt zu erfassen. | # direkt zu erfassen. | ||
print "Aktuelle Systemzeit (Unix-Timestamp): ", SOAP::Lite->self->time()->result, "\n"; | print "Aktuelle Systemzeit (Unix-Timestamp): ", SOAP::Lite->self->time()->result, "\n"; | ||
+ | </source> | ||
− | + | Die Ausgabe des Programms ist erwartungsgemäß: | |
+ | stesie@wuchtbrumme:~/p/ethersex$ ./soaptest.pl | ||
+ | Aktuelle Uptime des Ethersex: 832 | ||
+ | Aktuelle Systemzeit (Unix-Timestamp): 1250979228 |
Version vom 22. August 2009, 23:14 Uhr
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