0

我正在尝试使用 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: Parsing WSDL: could't load from 'https://blah. 立即服务。com / event.do?WSDL':无法在 /var/www/index.php:3 中加载外部实体“https://blah.service-now.com/event.do?WSDL”堆栈跟踪:#0 / var/www/index.php(3): SoapClient->SoapClient(' https://blah.ser ...', Array) #1 {main} 在第 3 行的 /var/www/index.php 中抛出

当然,我使用我想要的子域而不是等等。但让我们假设它是废话。

请帮我。这段代码可以吗?我在哪里放置我的用户名?在用户区?还是在登录区?param1 和 value1 呢,我需要更改其中的哪一个?

是的,我有权在我的 servicenow 实例上执行此操作,我可以执行有关肥皂和 wsdl 的其他操作。

4

1 回答 1

0

转到“系统属性”->“Web 服务”并确保“需要对传入的 WSDL 请求进行授权”。ist 设置为 NO

如果此标志设置为 Yes,您将无法按照您描述的方式在 PHP 中直接创建 SoapClient。

于 2015-02-09T12:48:49.257 回答