首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP API Soap标头身份验证

PHP API Soap标头身份验证
EN

Stack Overflow用户
提问于 2015-09-08 01:39:54
回答 1查看 529关注 0票数 0

我有一个小问题,我不能解决。我正在尝试连接一个SOAP API (criteo),它可以很好地与SoapUI配合使用。例如,当我尝试在php中复制逻辑时,我得到了auth。错误。我非常确定头部信息没有正确传递(我已经尝试了几种解决方案,我在这里找到了,但没有任何结果)。

这是SoapUI中的请求:

代码语言:javascript
复制
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="https://advertising.criteo.com/API/v201010">
   <soapenv:Header>
      <v20:apiHeader>
         <v20:authToken>12345</v20:authToken>
         <v20:appToken>123456</v20:appToken>
      </v20:apiHeader>
   </soapenv:Header>
   <soapenv:Body>
      <v20:getReportDownloadUrl>
         <v20:jobID>12345</v20:jobID>
      </v20:getReportDownloadUrl>
   </soapenv:Body>
</soapenv:Envelope>

在php中,我创建了这样的头文件:

代码语言:javascript
复制
/*
 * wsdl: https://advertising.criteo.com/API/v201010/AdvertiserService.asmx?WSDL
 */
    $authTokens = new stdClass();
    $authTokens->authToken = 12345;
    $authTokens->appToken = '123456';

    $header =  new SoapHeader('https://advertising.criteo.com/API/v201010/AdvertiserService.asmx', "apiHeader", $authTokens, true);
    $client->__setSoapHeaders(array($header));

    print_r($client->getAccount());

当我运行脚本时,我会得到一个错误:

代码语言:javascript
复制
Uncaught SoapFault exception: [soap:Receiver] Server was unable to process request. ---> Unable to cast object of type 'System.Web.Services.Protocols.SoapUnknownHeader' to type 'Criteo.WebService.DataModel.apiHeader'

有人能给我个提示吗?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-06-22 19:29:37

也有同样的问题。将命名空间值从更改为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32443720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档