Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP从ServiceNow获取事件记录_Php_Servicenow - Fatal编程技术网

使用PHP从ServiceNow获取事件记录

使用PHP从ServiceNow获取事件记录,php,servicenow,Php,Servicenow,我正在尝试使用PHP连接到ServiceNow并检索事件记录 我尝试使用以下代码,但不知何故收到错误: <?php $credentials = array('login'=>'user', 'password'=>'pass'); $client = new SoapClient("https://blah.com/incident.do?WSDL", $credentials); $params = array('param1' => 'value1', 'param

我正在尝试使用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':未能加载外部实体https://blah。service-now.com/incident.do?WSDL位于/var/www/index.php:3堆栈跟踪:0/var/www/index.php3:SoapClient->SoapClient'…',第3行的/var/www/index.php中抛出数组1{main}

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

请帮帮我。这个代码行吗?我应该把我的用户名放在哪里?在用户区?还是在登录区?param1和value1呢,我需要更改哪一个


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

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


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

确保已安装openssl PHP模块,并启用该模块。如果我通过此站点进行测试,它是否也可以接受?通过使用curl:curl-v是的,WSDL在我的service now实例上处于活动状态,确保您可以使用基本身份验证通过http获得它。我可以从中得到结果。我的意思是,直接转到你的终端,对我提供的示例URL模板运行curl-v并粘贴回结果。很有可能获得一些有意义的诊断信息。