Moin,
Folgende Ausgangssituation
Über einen Webservice per SOAP/WSDL soll ein Suchformular auf der Seite des Kunden erstellt werden. Die WSDL-Datei ist vorhanden, SOAP ist aktiviert.
Ablauf
Ich nutze zum Test den Dienst folgendermassen:
PHP-Code:
$customerID = 123;
$SOAP = new SoapClient( /* .wsdl-Datei */ );
$result = $SOAP->__call( 'functionOne', array($customerID) );
$result = $SOAP->__call( 'functionTwo', array('de', $customerID) );
// __soapCall() habe ich ebenfalls getestet!
print_r( $result ); // Die Anfragen habe ich nur für diesen Post in ein Script gelegt... Im Original-Script läuft immer nur einer!
Der erste Result funktioniert alleinstehend! Soll heißen, ich bekomme über den Webservice einen gültigen Response und alle Daten aufgeschlüsselt, die lt. Doku erwartet werden.
Der zweite Aufruf ist lt. Doku ebenso korrekt angegeben. Als erster Parameter wird die Sprache in ISO 639 Norm erwartet. Ich habe auch schon ISO 639-2 und -3 getestet. Auch CI habe ich getestet aus Verzweiflung.
Jedenfalls liefert mir der zweite Aufruf zwar einen Response, aber der lautet immer: "400 No Request received".
Meine Frage
Mache ich einen Fehler? Die Funktion wird der Doku entsprechend aufgerufen und ich erhalte ja auch einen Response. Allerdings einen, daß kein request empfangen wurde.
Der Service
Der Service ist nur über Mail erreichbar, was dementsprechend lange dauert.
Die haben mir ein Beispiel gesendet, welches sogar falsche Parameter übertragen hat. Gab natürlich Fehlermeldungen. Die habe ich ausgemerzt, in dem ich die Parameter lt. Doku angepasst habe. Dann erhalte ich wieder einen Response mit dem Inhalt: 400 no request recieved.
Hat jemand einen Tipp, wo ich da was falsch mache?
Der Service hilft mir nicht wirklich weiter.