SOAP-ERROR: Encoding: object hat keine 'FinalBookingDate' - Eigenschaft

Bevor Sie beginnen, ich weiß, dieser Fehler bedeutet, dass ich haben sollte, definiert die Eigenschaft FinalBookingDate, aber Lesen Sie einfach weiter und Sie werden verstehen, meine Sicht.

Die url ist: http://bestbuyhotel1.cangooroo.net/ws/2013/ClientBackOffice_b.asmx?op=getBookingList
Ich war die ersten Tests mit SoapUi, und ich erfolgreich die Liste, die ich benötige:
SOAP-ERROR: Encoding: object hat keine 'FinalBookingDate' - Eigenschaft

Und über php habe ich nur diese Antwort: SOAP-ERROR: Encoding: object hat keine 'FinalBookingDate' - Eigenschaft

Den SoapClient von php ist:

$params = array('soap_version'   => SOAP_1_2, 'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP, 'encoding'=>'UTF-8', 'trace' => 1, 'exceptions' => true, 'cache_wsdl' => WSDL_CACHE_NONE, 'features' => SOAP_SINGLE_ELEMENT_ARRAYS);
$client = new \SoapClient('http://bestbuyhotel1.cangooroo.net/ws/2013/ClientBackOffice_b.asmx?wsdl', $params);

Und dann den code zum abrufen der Daten:

    /*
    $query = array(
        'InitialServiceDate' => '2015-01-20',
        'InitialBookingDate' => '2015-01-20',
        'FinalBookingDate' => '2015-01-20',
        'FinalServiceDate' => '2015-01-20',
        'CreationUserId' => 1338,
        'CityId' => 4166,
        'ServiceTypes' => array('eServiceType' => 'HOTEL')
    );
     */
    $query = array(
        'InitialBookingDate' => '2015-01-20',
        'ServiceTypes' => array('eServiceType' => 'HOTEL')
    );
    $args = new \stdClass;
    $args->credential = new \stdClass;
    $args->credential->UserName = $conn['userPass']['usr'];
    $args->credential->Password = $conn['userPass']['pass'];
    $args->searchBookingCriteria = new \stdClass;
    $args->searchBookingCriteria->InitialBookingDate = '2015-01-20';
    $args->searchBookingCriteria->ServiceTypes = new \stdClass;
    $args->searchBookingCriteria->ServiceTypes->eServiceType = 'HOTEL';

    //$args = array('credential'=>$credentials, 'searchBookingCriteria' => $query);
    $data = $conn['client']->getBookingList($args);
    print_r($data);
    exit;

Wie Sie sehen können, habe ich versucht auf 2 Arten senden die $args zu getBookingList, so weit ich weiß beide dann gültig ist und noch die beiden dann (mit array oder Objekt) zurück, der gleiche Fehler. Auf der code kommentiert auf den ersten können Sie sehen, dass ich versuchte zu definieren, die alle Eigenschaften hat, die der web service fragt aber nach der Definition, dann bekomme ich ein leeres Ergebnis.

Meine Frage ist, gibt es einige zusätzliche Parameter zu definieren, die auf SoapClient, dass ich tun soll? Warum die SoapUI können, tun Sie es mit Erfolg? Was ich hier vermisst?

Bonus: Ein Druck von SoapUI Vollbild mit der Standard-Anforderung, einschließlich der optionalen params https://www.evernote.com/shard/s14/sh/fb5ac276-8147-4e09-95bb-afa0be66d7a6/d273441c74186bf1e600b42ab3303899/deep/0/SoapUI-5.0.0.png

Schreibe einen Kommentar