我正在尝试使用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 / incident.do?WSDL':无法在/var/www/index.php:3中加载外部实体“https:// blah.service-now.com / incident.do?WSDL”堆栈跟踪:#0 / var / www / index.php(3):SoapClient-&gt; SoapClient('https://blah.ser ...',数组)#1 {main}在第3行的/var/www/index.php中抛出
当然我使用我想要的子域而不是blah。但是我们假设它是等等。
请帮帮我。这段代码好吗?我在哪里放置用户名?在用户区?还是在登录区?那么param1和value1呢,我需要改变其中一个呢?
是的,我有权在我的servicenow实例上执行此操作,我可以执行有关soap和wsdl的其他操作。
答案 0 :(得分:0)
转到&#34;系统属性&#34; - &GT; &#34;网络服务&#34;并确保 &#34;要求对传入的WSDL请求进行授权。&#34; ist设为NO
如果此标志设置为Yes,您将无法按照描述的方式在PHP中直接创建SoapClient。