Ein Web Service mit SOAP::Lite

Ein Client für den Echo-Service

Das folgende Perl-Programm dient dazu, Meldungen an unseren neuen Echo-Service zu schicken. Sie brauchen nur ein paar Variablen anzupassen, damit dieser Client auch in Ihrer Umgebung funktioniert. In Zeile 9 passen Sie einfach die Variable $HOST so an, dass die URL auf Ihren SOAP::Lite-Request-Dispatcher verweist.


1 #!/usr/bin/perl -w
2 # Dateiname: echo_client.pl
3 # Client zum Versenden einer Nachricht an den Echo-Web Service
4 # Autor: Byrne Reese byrne@majordojo.com
5 # Verwendung:
6 #    echo_client.pl <unser Echo>
7 ###########################################
8 use SOAP::Lite; # +trace => 'debug';
9 $HOST   = "http://localhost/cgi-bin/echo.cgi";
10 $NS     = "urn:Echo";
11 $PHRASE =  shift; # von der Kommandozeile lesen
12 my $soap = SOAP::Lite
13   ->readable(1)
14   ->uri($NS)
15   ->proxy($HOST);
16 my $som = $soap->echo(
17      SOAP::Data->name("whatToEcho" => "$PHRASE"));
18 print "Die Antwort vom Server:n".$som->result."n";
19 1;

Die Einzelteile zusammenfügen

Mit den oben gezeigten drei Code-Ausschnitten haben wir alles, was wir für unseren ersten Web Service brauchen. Installieren Sie den Request-Dispatcher (echo.cgi) und den Request-Handler (Echo.pm) in ein cgi-bin-Verzeichnis auf Ihrem Webserver. Dann verwenden Sie unseren Beispiel-Client (echo_client.pl) zum Aufrufen des Web Service. Achten Sie darauf, das Programm echo_client.pl so anzupassen, dass es Ihren Echo-Service aufruft:


[localhost]$ perl echo_client.pl "Hier ist unser Echo."
Die Antwort vom Server:
Hier ist unser Echo.

Man kann SOAP::Lite anweisen, alle Debugging-Informationen auszugeben, einschließlich aller HTTP-Header sowie der SOAP Request- und Response-Meldungen, indem man Zeile 8 von echo_client.pl wie folgt ändert:


8 use SOAP::Lite +trace => 'debug';

Nur ein Beispiel für viele

Wie man sieht, nimmt einem SOAP::Lite die meisten der schwierigen Aufgaben ab, so dass die Implementierung eines Web Service wesentlich vereinfacht wird. Allerdings ist das Beispiel aus diesem Artikel viel zu simpel, um in einer Produktionsumgebung zum Einsatz zu kommen. Es sollte vor allem dazu dienen, bei Ihnen das Interesse am Schreiben von Web Services und SOAP::Lite zu wecken. Wenn Sie erst einmal verstanden haben, wie man dieses Modul benutzt, können Sie leicht auch komplexere Services implementieren.

Themenseiten: Software, Webentwicklung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Ein Web Service mit SOAP::Lite

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *