PHP-SOAP-Problem : der Objektverweis wurde nicht auf eine Instanz eines Objekts
Ich versuche, erstellen Sie eine Schnittstelle zu https://ws.farebuzz.com/FlightGateway.asmx?WSDL mit php und SoapClient-Klasse.
Schaffte ich es, über den authentication header, aber ich bin stecken, wenn ich versuche eine Methode aufzurufen .. ich bin mir immer :
Uncaught SoapFault exception: [soap:Server] der Server konnte die Anforderung nicht verarbeiten. ---> der Objektverweis wurde nicht auf eine Instanz eines Objekts.
Ich habe versucht, es so (als Objekt) :
class SearchFlights{
public $NumberOfAdults;
public $ClassOfService;
public $TypeOfTrip;
public $FromCity;
public $ToCity;
}
$parameters = new SearchFlights();
$parameters->NumberOfAdults = 2;
$parameters->ClassOfService = 'ECONOMY';
$parameters->FromCity = 'ECONOMY';
$parameters->ToCity = '1te';
$parameters->TypeOfTrip = 'NONE';
$this->client->SearchFlights($parameters);
und als ein array wie :
$parameters = array('ToCity' => 'testttt',...);
aber ich bekam dieselbe Fehlermeldung. Kann mir jemand helfen?
Dank
Sorin
InformationsquelleAutor | 2009-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre WSDL-Staaten, die es als in auf diese Weise:
Beachten Sie, dass die
searchRequest
name ist wichtig.Gibt es auch verschiedene obligatorische Eingänge für diesen service sollten Sie sicherstellen, dass diese vorhanden sind. Vom Blick auf den code, Sie vermissen etwas.
Werfen Sie einen Blick auf die
FlightSearchRequest
komplexer Typ hier. Jeder Parameter hatminOccurs=1
erforderlich ist.InformationsquelleAutor MrCode
Versuchen Sie es mit dieser:
Ich hatte Probleme beim Zugriff ein .net webservice und dieser löste es für mich.
InformationsquelleAutor wajiw
Wenn ich verstehe, das WSDL korrekt, die SearchFlights Gegenstand enthalten soll, eine FlightSearchRequest Objekt. Es ist die letztere enthält die Parameter.
Versuchen Sie dies:
InformationsquelleAutor Bjarte Aune Olsen
War ich auch neugierig, zu wissen, die Antwort auf diese Frage und schließlich bekam ich zu wissen, warum:
Die Knoten, die wir senden über die SOAP-Anfrage bekannt sein sollten, um uns mit Datentypen und ob Sie obligatorisch sind oder nicht. So, hier, wenn einer dieser Knoten, gefolgt von den strengen Anweisungen der WSDL-sollte nicht gefolgt werden, wir erhalten die Fehlermeldung, die sagen, dass die "Objektverweis nicht auf eine Instanz eines Objekts".
Ich gebe Ihnen ein Beispiel, das ich gestoßen bin:
Ich hatte das gleiche Problem, und ich bekam zu wissen, dass ich nicht senden einen beliebigen Wert zu einem Knoten, das war ausgenommen mindestens ein Wert oder einem vorkommen, dann muss ich das überprüfen es auf mein Ende, wenn ich erfolgreich war, senden, Wert-ansonsten leere-saite, die war zu sagen, dass WSDL, dass dies mindestens 1 vorkommen und hat einen Wert.
Schließlich habe ich dieses Problem gelöst, bug.
Baseline hier ist, wenn die Knoten, diese sind obligatorisch und werden nicht senden perfekt zu erhöhen wird in dieser Ausnahme-oder anderes senden, die leere Zeichenfolge in diese Knoten.
Dank
InformationsquelleAutor RishiM