Получение записей об инцидентах из ServiceNow с использованием PHP

Я пытаюсь использовать PHP для подключения к ServiceNow и получения записей об инцидентах.

Я попытался использовать приведенный ниже код, но почему-то получаю ошибки:

<?php
$credentials = array('login'=>'user', 'password'=>'pass');
$client = new SoapClient("https://blah.com/incident.do?WSDL", $credentials);
$params = array('param1' => 'value1', 'param1' => 'value1');
$result = $client->__soapCall('getRecords', array('parameters' => $params));
// result array stored in $result->getRecordsResult
?>

Я всегда получаю:

Неустранимая ошибка: неперехваченное исключение SoapFault: [WSDL] SOAP-ERROR: синтаксический анализ WSDL: не удалось загрузить с https: // blah. сервис-сейчас. com / инцидент.do?WSDL ': не удалось загрузить внешний объект «https: // blah. service-now.com / инцидент.do?WSDL» в /var/www/index.php:3 Трассировка стека: # 0 / var / www / index.php (3): SoapClient-> SoapClient ('https://blah.ser ... ', Array) # 1 {main} добавлено в /var/www/index.php в строке 3

Конечно, я использую желаемый поддомен вместо blah. Но допустим, это мля.

Помогите, пожалуйста. Этот код в порядке? Где мне разместить свое имя пользователя? В пользовательской области? или в области входа в систему? А как насчет param1 и value1, какой из них мне нужно изменить?

Да, у меня есть разрешение сделать это в моем экземпляре servicenow, я могу делать другие вещи, касающиеся мыла и wsdl.


person Malbordio    schedule 29.10.2014    source источник
comment
Убедитесь, что модуль PHP openssl установлен и включен   -  person rjdown    schedule 30.10.2014
comment
Допустимо ли тестирование через этот сайт? runnable.com/UovXqHcwNjgVAAGV/   -  person Malbordio    schedule 30.10.2014
comment
Убедитесь, что вы действительно можете получить его через http, используя базовую аутентификацию, используя что-то вроде curl: curl -v 'ПОЛЬЗОВАТЕЛЬ: [email protected]/incident.do? WSDL '   -  person Joey    schedule 19.11.2014
comment
Да, WSDL активен в моем экземпляре service-now. Я могу получить от этого результаты.   -  person Malbordio    schedule 21.11.2014
comment
Я имею в виду, буквально зайдите в свой терминал, запустите curl -v для этого примера шаблона URL-адреса, который я предоставил, и вставьте обратно результаты. Есть хороший шанс получить значимую диагностическую информацию.   -  person Joey    schedule 12.01.2015


Ответы (1)


перейдите к «Свойства системы» -> «Веб-службы» и убедитесь, что «Требовать авторизацию для входящих запросов WSDL». ist установлено в NO

Если для этого флага установлено значение «Да», вы не сможете напрямую создать SoapClient в PHP так, как вы его описали.

person felixsigl    schedule 09.02.2015