Извините, что должен это сделать, но я не получаю любви от людей, которые управляют этим конкретным веб-сервисом. Я никогда раньше не использовал SOAP.
Вот метод, который я пытаюсь вызвать
А вот код, который, я думаю, должен работать
public function soapTest(){
echo "start <br />";
use_soap_error_handler(true);
$client = new SoapClient("https://cwi.rezexchange.com:9991/?wsdl");
// here's the problem. What goes in the parenthesis?
$result = $client->CwiRateDetails(????);
echo($result);
echo "<br /> end";
}
Теперь я предполагаю, что это говорит мне, что должна содержать скобка.
POST /Service.asmx HTTP/1.1
Host: cwi.rezexchange.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://hotelconcepts.com/CwiRateDetails"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CwiRateDetails xmlns="http://hotelconcepts.com/">
<PropertyCode>string</PropertyCode>
<DateFrom>dateTime</DateFrom>
<DateTo>dateTime</DateTo>
<RatePlan>string</RatePlan>
<RoomType>string</RoomType>
<PromotionalRates>boolean</PromotionalRates>
</CwiRateDetails>
</soap:Body>
</soap:Envelope>
Я думаю, что-то вроде
$result = $client->CwiRateDetails($PCode, $DateFrom, $DateTo, $RatePlan, $RoomType, false);
Должно работать. Но я не знаю, какой формат даты, какие типы номеров или как ссылаться на тарифный план.
Теперь. Прежде чем я начну рассказывать им об этом по электронной почте, неужели я ошибаюсь, думая, что им нужно загрузить еще больше информации? Или есть какая-то хитрость SOAP, которую я могу использовать, чтобы откуда-то получить эту информацию?