Я работаю над клиентом веб-сервиса на PHP.В каждом запросе должен быть указан лицензионный ключ, например, 17a18c4d-63ab-4eab-778f-20a67e1fe83a.
Проблема заключается в том, что согласно спецификации лицензия представляет собой не строку, а Guid и примеры.находятся в C, например.
ListAllBookSubjects(Guid licenseKey, LanguageCodeTypeEnum language)
Если я попробую этот фрагмент в PHP (логин и лицензия не являются действительными):
$url= "http://service.qa.pubhub.dk/MediaService1_4.asmx?WSDL";
$config = array( "login" => "mail@example.com", "password" => "1234", "trace" => 1,"exceptions" => 0);
$objSoapClient = new SoapClient($url,$config);
print_r($objSoapClient->ListAllBookSubjects('{17a18c4d-63ab-4eab-778f-20a67e1fe83a}', 'DAN'));
Я получу следующее сообщение об ошибке:
[message:protected] => System.Web.Services.Protocols.SoapException: Invalid LicenseKey {00000000-0000-0000-0000-000000000000}
Я тоже пробовал без брекетов.Видимо, формат guid неправильный, но как мне представить C Guid в PHP?
Я нашел ответ, см. Ниже