Mit der PHP-SOAP-client im non-WSDL-Modus
Arbeite ich auf eine api für einen Kunden. Ich habe folgende information erhalten:
API Url: http://xyz-crm.example/WebAPI/Custom/project_name/XML/
Username: foobar
password: spameggs
Muss ich konfigurieren der PHP-SOAP-client für das gleiche im nicht-WSDL-Modus. Ich habe Folgendes geschrieben, aber es scheint nicht zu funktionieren:
$wsdl = null;
$options = array(
'uri' => 'http://xyz-crm.example/WebAPI/Custom/project_name/XML/',
'location' => 'http://xyz-crm.exmaple.com/WebAPI/Custom/project_name/XML/',
'login' => 'foobar',
'password' => 'spameggs'
);
$client = new SoapCLient($wsdl, $options);
Ich will einfach nur, um einen erfolgreichen ping auf die api auf den ersten. Sehen Sie, wenn die Dinge funktionieren. Was mache ich hier falsch?
Update 1
Ich folgende änderungen vorgenommen:
$wsdl = null;
$options = array(
'uri' => "http://xyz-crm.example/WebAPI/Custom/project_name/XML/",
'location' => "http://xyz-crm.example/",
'Username' => "foobar",
'Password' => "spameggs",
'soap_version' => '1.2'
);
$client = new SoapClient($wsdl, $options);
$client = $client->getListings();
Bekomme ich die Fehlermeldung: looks like we got no XML document
[Edit von mir, hakre: Das update wurde gemacht als feedback Antwort #1. Es ändert die Lage option mit einer verkürzten URL (Grund, der nicht durch die OP) und er fügt hinzu, die soap_version option (wie bereits in Antwort #1, aber nicht als konstant, sondern als string (mit einem ungültigen Wert), so sollte es kein Wunder sein das erzeugt einen Fehler, eine richtige option Wert wird in Antwort #1 (die
SOAP_1_1
- Konstante) und durch die Absicht, den korrekten Wert, wäre dieSOAP_1_2
ständige für dieses Beispiel). Fehlermeldung wie kommentierte OP war "SOAP-Fehler: Falsche version."]
Update 2
Ich habe Folgendes versucht, aber es immer noch nicht:
$listing = $client->getListings();
$request = $client->__getLastRequest();
Die Ausführung Stoppt an der ersten Zeile, ohne selbst jemals das zweite.
[Edit von mir, hakre: Wie die Bewertung gezeigt hat, falsche Konfiguration-Optionen in Update 1 schon, die sind nicht behandelt Update 2 es wäre ein Wunder, wenn es immer noch nicht scheitern. Die Ausführung beendet, weil ein das Exception geworfen und keine Fehler/Ausnahmebehandlung geschieht]
SOAP-Fehler: Falsche version. Das ist die Fehlermeldung, die ich bekomme. Ich bin irgendwie verwirrt durch die api uri als gut. Im Netz sehe ich Beispiele mit .asmx, wie das format der uri oder der Lage. Dies ist das erste mal arbeite ich mit SEIFE.
InformationsquelleAutor Varun Jain | 2013-10-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sterben URI oder Datei-Endung spielt keine Rolle, es könnte sogar sein
.jpg
gibt es keinen Standardwert.Haben Sie einen Blick auf ähnliche Fragen: Hat diese SOAP-Fehler meinst, was ich denke, dass es bedeutet?
Wäre es hilfreich wenn du die Fehlermeldung in der Frage, sowie die XML-Ausgabe Ihrer Anfrage.
versuchen Sie die SOAP-Version in der Reihe von Ihr
SoapClient
Instanz, um eine der Konstanten, die (versuchen verschiedene):oder
SOAP_1_2
...Debuggen von XML-versuchen, die Antwort aus Prüfen von XML-erstellt von PHP SoapClient rufen, bevor/ohne das senden der Anfrage
Die Fehlermeldung aktualisiert Ihre Frage nicht so Aussehen, wie es aus PHP, sieht mehr wie eine Antwort vom webservice, bedeutet, dass Ihre Anfrage auch tatsächlich funktioniert.
InformationsquelleAutor DanFromGermany