GUID в PHP и SOAP - PullRequest
       11

GUID в PHP и SOAP

0 голосов
/ 09 ноября 2011

Я работаю над клиентом веб-сервиса на 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?

Я нашел ответ, см. Ниже

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Я попытался отправить запрос с помощью Storm и понял, что для запроса нужны имена параметров:

print_r($objSoapClient->ListAllBookSubjects(array("licenseKey" => "17a18c4d-63ab-4eab-778f-20a67e1fe83a", "language"=>"DAN")));

Вышеприведенная версия работает отлично!

Я не знал Storm, но был указанк нему при поддержке поставщика услуг.Вроде бы очень полезный инструмент: http://storm.codeplex.com

1 голос
/ 09 ноября 2011

Согласно WSDL в http://service.qa.pubhub.dk/MediaService.asmx?WSDL, может показаться, что GUID «определен» со значением шаблона:

[0-9a-FA-F] {8} - [0-9a-FA-F] {4} - [0-9a-FA-F] {4} - [0-9a-FA-F ] {4} - [0-9a-FA-F], {12}

так что это определенно должно быть хорошо, если вы делаете это без брекетов. Возможно ли, что лицензионный ключ не авторизован или что-то на сервере? Он может заплатить, чтобы спросить поставщика услуг, предоставив ему копию или два запроса SOAP, которые были сделаны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...