player per http steuern

Wie gesagt, SOAP funktioniert erst ab 1.5.49 wieder. Hier ist aber schonmal ein minimales PHP-Script, um einen mAirList-Rechner fernzusteuern:

[code]<?
require_once ‘SOAP/Client.php’;

$mAirListURI = ‘http://lindir:9300/SOAP’;
$WSDL = new SOAP_WSDL($mAirListURI);
$client = $WSDL->getProxy();
$client->ExecuteCommand(array (Command => ‘PLAYER 1-1 START/STOP’));
?>[/code]

Du musst nur noch den richtigen Rechnernamen in die URL eintragen.

Torben

ich checks nicht…
kannst du die einzelnen zeilen erklären?

Ich versuch’s …

require_once 'SOAP/Client.php';

PHP/PEAR-SOAP-Funktionen in dieses PHP-Script einbinden.

$mAirListURI = 'http://lindir:9300/SOAP';

Das ist die URL von der mAirList-SOAP-Schnittstelle. “lindir” ist hier der Rechnername, 9300 der in der mAirList-Konfiguration eingestellte Port, und am Ende muss immer “/SOAP” stehen. (Es gibt auch das BIN-Interface, das zum Beispiel mAirListCommand.exe nutzt. Dahinter steckt einfach ein anderes Protokoll. PHP kann aber nur SOAP und nicht BIN.)

$WSDL = new SOAP_WSDL($mAirListURI);

Die WSDL-Datei enthält die Liste aller Funktionen, die ein Server (= mAirList) anbietet. Um diese Liste zu erhalten, muss man also ein WSDL-Objekt erzeugen und …

$client = $WSDL->getProxy();

… die Liste der Funktionen vom Server herunterladen. Jetzt ist $client quasi deine mAirList-Instanz, und du kannst alle bereitgestellten Funktionen aufrufen. Es gibt aber zur Zeit nur eine, nämlich …

$client->ExecuteCommand(array (Command => 'PLAYER 1-1 START/STOP')); 

ExecuteCommand. Die Parameter müssen als assoziatives Array übergeben werden.

Torben

PS: Der Parameter muss eigentlich “Command” anstatt “iCommand” heißen. Es funktioniert offenbar auch mit iCommand, ich hab das trotzdem mal oben in den Beiträgen korrigiert.

nein… ich schaffs nicht…

Fatal error: main(): Failed opening required 'SOAP/Client.php' (include_path='.;c:\php4\pear') in c:\www\mairlist\stop.php on line 2

stop.php

[code]<?
require_once ‘SOAP/Client.php’;

$mAirListURI = ‘http://localhost:9300/SOAP’;
$WSDL = new SOAP_WSDL($mAirListURI);
$client = $WSDL->getProxy();
$client->ExecuteCommand(array (Command => ‘PLAYER 1-1 START/STOP’));
?>[/code]

go-pear.bat im c:/php/

[code]Welcome to go-pear!

Go-pear will install the ‘pear’ command and all the files needed by
it. This command is your tool for PEAR installation and maintenance.

Go-pear also lets you download and install the PEAR packages bundled
with PHP: DB, Net_Socket, Net_SMTP, Mail, XML_Parser, PHPUnit-0.6.2.

If you wish to abort, press Control-C now, or press Enter to continue:

HTTP proxy (http://user:password@proxy.myhost.com:port), or Enter for none::

Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type ‘all’ to change all of them or simply press Enter to
accept these locations.

  1. Installation prefix : C:\php
  2. Binaries directory : $prefix
  3. PHP code directory ($php_dir) : $prefix\pear
  4. Documentation base directory : $php_dir\docs
  5. Data base directory : $php_dir\data
  6. Tests base directory : $php_dir\tests
  7. php.exe path : C:\php\cli\php.exe

1-7, ‘all’ or Enter to continue:

The following PEAR packages are bundled with PHP: DB, Net_Socket, Net_SMTP,
Mail, XML_Parser, PHPUnit-0.6.2.
Would you like to install these as well? [Y/n] : y

Loading zlib: ok
Using local package: PEAR…ok
Using local package: Archive_Tar…ok
Using local package: Console_Getopt…ok
Using local package: XML_RPC…ok
Bootstrapping: PEAR…(local) ok
Bootstrapping: Archive_Tar…(local) ok
Bootstrapping: Console_Getopt…(local) ok
Using local package: DB…ok
Using local package: Net_Socket…ok
Using local package: Net_SMTP…ok
Using local package: Mail…ok
Using local package: XML_Parser…ok
Downloading package: PHPUnit-0.6.2…ok
Extracting installer…ok
install ok: PEAR 1.3.1
install ok: Archive_Tar 1.1
install ok: Console_Getopt 1.2
install ok: XML_RPC 1.1.0
install ok: DB 1.6.1
install ok: Net_Socket 1.0.1
install ok: Net_SMTP 1.2.5
install ok: Mail 1.1.2
install ok: XML_Parser 1.0.1

Could not get contents of package “C:\DOKUME~1\manu\LOKALE~1\Temp\gop50.tmp\PHPU
nit-0.6.2”. Invalid tgz file.
Drücken Sie eine beliebige Taste . . .[/code]

muss anscheinend auf die funktion warten ;((
http://localhost:9300/player1-1-stop

Wie ich schon oben beschrieb: Mein Webserver läuft unter Debian Linux, da ist das SOAP-Paket sehr leicht zu installieren. Wie es unter Windows geht, weiß ich nicht. Da scheinen sich ja mehrere Leute die Zähne dran auszubeißen :wink:

Torben

grml
mist… jetzt muss ich meinen mail server auch noch als web server verwenden…

Ist es nicht möglich, dass man mairlist auf meine art ansteuert?
Ich hatte mal vor ca 3 jahren auf diese Art ein BPM Studio - WebInterface gebastelt… war einfach ohne zusätzlicher software in html…

in windows geht das ganz easy…

einfach xampp installieren (http://www.apachefriends.org)

xampp ist aber meines wissens nicht für den servereinsatz gedacht…

grüße, michi