首页 > 解决方案 > 在 php 中创建 SOAP 标头中的函数时遇到问题

问题描述

我正在尝试使用网络表单在 ServiceNow 中创建事件。ServiceNow API 使用用户名、密码和 apikey 的基本身份验证。

由于无法正确识别 apikey,身份验证始终失败。当使用像 Boomerang 这样的 SOAPClient 时,它可以工作,但我只是没有在 php.ini 中正确获取它。

以下信息位于 Boomerang 的标题中(效果很好):

Authorization - Basic SU5UU0RQTVI6TWFudWZhY3R1cmluZ1czYmYwcm0=

Content-Type - text/xml; charset=utf-8

SOAPAction - http://www.service-now.com/hlr_incident_api/createIncident

Api-Key - 97c97bd4-5226-43c4-9909-adee8332d1e0

我正在使用的代码(总是失败)如下所示:

    $wsdl ='sns.wsdl';
$client = new SoapClient($wsdl, array('login' => 'USER',
                                      'password' => 'PASSWORD',
                                      'soap_version' => SOAP_1_2));

$ns = 'http://www.service-now.com/hlr_incident_api';    
$header = new SoapHeader($ns, '97c97bd4-5226-43c4-9909-adee8332d1e0');
$client->__setSoapHeaders($header);

你能帮我在 php 中设置正确的 SOAP 标头吗?

非常感谢!!

标签: phpsoap

解决方案


推荐阅读