Debugging PHP SOAP Aufruf

Ich bin neu in SOAP und beschäftige mich mit einem Web-Service, bei dem anscheinend noch niemand zuvor mit PHP zusammengearbeitet hat. Sie haben keinen Beispielcode außer C #, aber ich habe das. eServices.asmx stellt WSDL bereit, wenn dies der richtige Weg ist, dies zu sagen.

Der Fehler, den ich erhalte, ist "Server hat den Wert von HTTP-Header SOAPAction nicht erkannt:", wobei dieser Trainings-Doppelpunkt darauf hindeutet, dass möglicherweise kein Wert übergeben wurde.

Mein Code sieht so aus:

$URL = "http://nolaflash.example.com/xxxWS/eServices.asmx";

$namespace="http://www.example.com/webservices/";

include("SOAP/Client.php");

$soapclient = new SOAP_Client($URL);

$xml_data = // valid XML is here;

$res = $soapclient->UpdateData('usrname','pass',$xml_data);

aber ich habe es auch versucht:

$param = array('usrname','pass',$xml_data);
$res = $soapclient->call('UpdateData',$param, $namespace);

Googling weist darauf hin, dass es sich bei diesem Fehler um ein Namespace-Problem handelt. Der C # -Code, den ich habe, hat nur eine Namespace-Referenz:

[System.Web.Services.WebServiceBindingAttribute(Name="eServicesSoap", Namespace="http://www.example.com/webservices/")]

Wenn ich $ soapclient vor dem Funktionsaufruf auf dem Bildschirm ablege, sehe ich, dass es Daten von eServices.asmx erhalten hat.

Ich bin nicht sicher, wie ich das debuggen soll, und die Mitarbeiter des Dienstes sind nicht mit der Interaktion mit dem Dienst außerhalb ihrer .NET-IDE vertraut.

Irgendwelche Gedanken? Rat

Antworten auf die Frage(4)

Ihre Antwort auf die Frage