Thomas2: Perl SOAP::Lite Server ansprechen

Beitrag lesen

Hallo,
ich mache gerade meine ersten Versuche mit Webservices/Soap.
Folgendes habe ich zum Testen vor:
Ich habe einen Soap-Server in Perl auf meinem Webserver. Per Javascript möchte ich nun aus einer Webseite heraus diesen Soap-Server ansprechen.

Mein "Soap-Server" mit Namen "/cgi-bin/soap/hello.pl" nutzt SOAP::Lite und sieht folgendermaßen aus:

  
use strict;  
use SOAP::Transport::HTTP;  
#use Demo;  
  
SOAP::Transport::HTTP::CGI  
   -> dispatch_to('Demo')  
   -> handle;  
  
package Demo;  
  
# -- SOAP::Lite -- guide.soaplite.com -- Copyright (C) 2001 Paul Kulchenko --  
  
sub echo {  
   return @_[1];  
}  
  
sub hi {  
  return "hello, world";  
}  
  
sub bye {  
  return "goodbye, cruel world";  
}  
  
1;  

Mit einem Perl Soap-Client kann ich diesen auch ansprechen, funktioniert also schonmal.

Um per Javascript auf diesen Dienst zuzugreifen habe ich mir das hier angeschaut:
http://www.guru4.net/articoli/javascript-soap-client/en/

Dieses verlangt einmal eine WSDL-Datei auf dem Server.
Diese habe ich mir erstellt (ich hoffe es ist soweit richtig, ziemlich konfus das Ganze) und auf meinen Webserver geladen.

Nun versucht dieser Javascript-Soap-Client jedoch die WSDL aus einer bestimmten URL per GET zu laden:

  
xmlHttp.open("GET", url + "?wsdl", async);  

Meine Testwebseite hat einen Button mit dem ich hi() aufrufen möchte:

  
<script type="text/javascript">  
  
var url = "http://vortex//cgi-bin/soap/hello";  
  
function HelloWorld()  
{  
    var pl = new SOAPClientParameters();  
    SOAPClient.invoke(url, "hi", pl, true, HelloWorld_callBack);  
}  
function HelloWorld_callBack(r)  
{  
    alert(r);  
}  
  
</script>  
<h2>DEMO 1: "Hello World!"</h2>  
        <p>Say Hello World</p>  
        <input type="button" value="Say &quot;Hello world&quot;" onclick="HelloWorld();" />

Das Problem ist die url. Wie soll das denn funktionieren?
Muss mein Perl-Script auf dem Server noch auswerten, ob es die WSDL-Datei zurückliefern oder die Soap-Anfrage beantworten soll?

Ich bin im Moment etwas verwirrt, ich hoffe hier kann einer Licht ins Dunkel bringen.

Danke und Gruß
Thomas