Folgendes Problem:
Ich sende mit den PHP-Soap-Funktionen:
Wenn ich das Skript aufrufe, erhalte ich die Fehlermeldung:
Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request.
--> Schema Validation Exception on Node: SOAP-ENV:Envelope
--> The 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' element is not declared.
An error occurred at , (2, 2). in
Bei dem Webservice kommt folgendes an:
Ich vermute nun, dass die Fehlermeldung damit zu tun hat, dass in den nodes jeweils /ns1 bzw /ns2 steht. Mein Problem ist auch, dass ich die Abfrage nicht bei mir "abfangen" kann, d.h. den übertragenen Code kontrollieren kann.
Ich hoffe, ich habe mich verständlich ausgedrückt und es hat jemand eine Idee, wo das problem liegt .... Danke!
Ich sende mit den PHP-Soap-Funktionen:
PHP-Code:
$soap = new SoapClient('https://URL.asmx?WSDL', array("trace" => 1, "encoding"=> "ISO-8859-1"));
$pingRQ->Version = '1.01';
$pingRQ->POS->Source->AgentSine = 'Bla';
$pingRQ->POS->Source->RequestorID->ID = 'Bla';
$pingRQ->VehAvailRQCore->Status = 'Available';
$pingRQ->VehAvailRQCore->VehRentalCore->PickUpDateTime = new SoapVar("2007-12-01T09:00:00", XSD_STRING);
$pingRQ->VehAvailRQCore->VehRentalCore->ReturnDateTime = new SoapVar("2007-12-10T09:00:00", XSD_STRING);
$pingRQ->VehAvailRQCore->VehRentalCore->PickUpLocation->LocationCode = 'YYZ';
$pingRQ->VehAvailRQCore->VehRentalCore->ReturnLocation->LocationCode = 'YYZ';
$pingRQ->VehAvailRQCore->VehRentalCore->PickUpLocation->Value = 'Vancouver';
$pingRQ->VehAvailRQCore->VehRentalCore->ReturnLocation->Value = 'Vancouver';
$pingRQ->VehAvailRQCore->VendorPrefs->VendorPref->CompanyShortName = 'Renter';
$pingRQ->VehAvailRQCore->VendorPrefs->VendorPref->PreferLevel = 'Only';
$pingRQ->VehAvailRQCore->VehPrefs->VehPref->ClassPref = 'Only';
$pingRQ->VehAvailRQCore->VehPrefs->VehPref->TypePref = 'Only';
$pingRQ->VehAvailRQCore->VehPrefs->VehPref->VehType->VehicleCategory = '2W';
$param = array('OTA_VehAvailRateRQ' => $pingRQ);
$response = $soap->__soapCall("VehAvailRate", array('parameters' => $param));
Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request.
--> Schema Validation Exception on Node: SOAP-ENV:Envelope
--> The 'http://schemas.xmlsoap.org/soap/envelope/:Envelope' element is not declared.
An error occurred at , (2, 2). in
Bei dem Webservice kommt folgendes an:
PHP-Code:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.opentravel.org/OTA/2003/05" xmlns:ns2="http://URL/OTA">
<SOAP-ENV:Body>
<ns2:VehAvailRate>
<ns1:OTA_VehAvailRateRQ Version="1.01">
<ns1:POS>
<ns1:Source AgentSine="Bla">
<ns1:RequestorID ID="Bla"/>
</ns1:Source>
</ns1:POS>
<ns1:VehAvailRQCore Status="Available">
<ns1:VehRentalCore ReturnDateTime="2007-12-10T09:00:00">
<ns1:PickUpLocation LocationCode="YYZ"/>
<ns1:ReturnLocation LocationCode="YYZ"/>
</ns1:VehRentalCore>
<ns1:VendorPrefs>
<ns1:VendorPref CompanyShortName="Renter" PreferLevel="Only"/>
</ns1:VendorPrefs>
<ns1:VehPrefs>
<ns1:VehPref TypePref="Only" ClassPref="Only">
<ns1:VehType VehicleCategory="2W"/>
</ns1:VehPref>
</ns1:VehPrefs>
</ns1:VehAvailRQCore>
</ns1:OTA_VehAvailRateRQ>
</ns2:VehAvailRate>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ich vermute nun, dass die Fehlermeldung damit zu tun hat, dass in den nodes jeweils /ns1 bzw /ns2 steht. Mein Problem ist auch, dass ich die Abfrage nicht bei mir "abfangen" kann, d.h. den übertragenen Code kontrollieren kann.
Ich hoffe, ich habe mich verständlich ausgedrückt und es hat jemand eine Idee, wo das problem liegt .... Danke!