У меня проблема с SOAP, и я на 100% уверен, что это моя сторона, а не веб-служба.
Я могу успешно подключиться к wsdl.
$wsdl="http://webservices_qa.linksunlimited.com/LinksWebService.svc?wsdl";
$client = new SoapClient($wsdl, array('trace'=>1));
$functions = $client->__getFunctions();
var_dump($functions);
Показывает мне функции, чтобы я знал, что могу добраться до него.
ini_set('default_socket_timeout', 2000000);
$wsdl="http://webservices_qa.linksunlimited.com/LinksWebService.svc?wsdl";
$client = new SoapClient($wsdl, array('trace'=>1));
$result = $client->GetProductCatalog((object)$links_credentials);
//$result = $client->GetProductCatalog($links_credentials);
//$client->__soapCall("GetProductCatalog", $links_credentials);
//$result = $client->__soapCall("GetProductCatalog", (object)$links_credentials); //when i try this i get null
Я должен ожидать большой ответ, около 1,6 МБ.
Я получаю:
Серверу не удалось обработать запрос из-за внутренней ошибки. Для получения дополнительной информации об ошибке либо включите IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute, либо из поведения конфигурации) на сервере, чтобы отправить информацию об исключении обратно клиенту, либо включите трассировку в соответствии с документацией Microsoft .NET Framework SDK и проверить журналы трассировки сервера.
РЕДАКТИРОВАТЬ: Когда я пытаюсь
$result = $client->__soapCall("GetProductCatalog",$links_credentials);
Я получаю "Средство форматирования выдало исключение при попытке десериализации сообщения: ошибка в десериализации тела сообщения запроса для операции" GetProductCatalog ". Завершить элемент" Body "из пространства имен" http://schemas.xmlsoap.org/soap/envelope/' Ожидается. Найденный элемент " param1 'из пространства имен' '. Строка 2, позиция 158. "
Я чувствую, что я рядом ....