Vielleicht hat ja jemand die Lösung und/oder einen Tipp:
Ich versuche gerade ein PHP-Projekt als Desktop-App (OSX) mit Xojo zu portieren und stosse in Sachen SOAP auf “Wiederstände”.
Im PHP gibt es
$client = new SoapClient("Pfad_auf_WSDL-Datei");
$token = $client->__soapCall("machwas",array("w1","w2","w3"));
Klappt, die Methode “machwas” verarbeitet die drei Strings w1 bis w3 als Parametr für p1 bis p3 und gibt ein Ergebnisstring zurück.
Wie sieht das jetzt in Xojo aus?
[code]Dim dms as SOAPMethod
Dim sr as SOAPResult
dms = NEW SOAPMethod(“Pfad_auf_WSDL-Datei”)
dms.Parameter(“p1”) = “w1”
dms.Parameter(“p2”) = “w2”
dms.Parameter(“p3”) = “w3”[/code]
Wenn ich hier die Namen der Parameter ändere, z.B. aus p1 pp1 mache, dann gibt es einen Laufzeitfehler “SOAPExeception” “incorrect parameters”, so weit, so gut.
sr = dms.Invoke(“machwas”)
liefert mir das Ergebnis als XML:
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”>
SOAP-ENV:Body
SOAP-ENV:Fault
SOAP-ENV:Server
Function ‘machwas’ doesn’t exist
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
“machwas” doesn’t exist? Doch, denn wenn ich aus “machwas” “sawhcam” mache, gibt es wieder zur Laufzeit eine SOAPException “Method name does not exist in WSDL”.
Irgendwo ist da der Wurm drinnen - nur wo? In meiner Portierung, in XOJO oder in dem Webservice, den ich via SOAP mit Basic ansprechen will?