php - 如何在客户端从 SOAP header 读取数据

标签 php soap-client

我有 SOAP 响应,如下所示

<soap:Envelope>
    <soap:Header>
        <AuthorizationToken soap:mustUnderstand="1">
            <Token>5c31cca8-8303-4d01-a564-a99569a0963a</Token>
        </AuthorizationToken>
    </soap:Header>
    <soap:Body>
        <AuthenticateResponse>
            <AuthenticateResult>http://www.avectra.com/OnDemand/2005/</AuthenticateResult>
        </AuthenticateResponse>
    </soap:Body>
</soap:Envelope>

并且不知道如何从 header 读取数据(获取 token 值)。我正在使用 PHP5 中的 SoapClient

最佳答案

来自http://drupalcode.org/project/netforum.git/blob/refs/heads/master:/xwebSecureOD.class.inc看起来这应该可行:

$soapclient->__soapCall($fname, $arguments, null, $this->getAuthHeaders(), $responseHeaders);
$responseHeaders['AuthorizationToken']->Token;

该链接有一个类,它扩展了 PHP 的 SOAP 对象,并执行一些缓存和 drupal 特定的操作,但您应该能够删除这些部分,并留下一个新类,该类透明地处理 netFORUM 使用的滑动授权 token 。

关于php - 如何在客户端从 SOAP header 读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8124861/

相关文章:

php - SoapServer 功能选项有什么区别

java - 解析 XML 失败

php - SQL : select rows from table 1 and exists (rows from table 2)

laravel - fatal error : Class 'SoapClient' not found after upgrading PHP from version 7. 0 到 7.2

php - 如何在 mysql php 中使用 IN OPERATOR 删除所有行

php - 在没有提交按钮的情况下调用php文件

php - 无法从 PHP 调用 .NET ASMX

ssl - 使用 Soap 客户端忽略面向 Windows 8.1 的可移植类库的 SSL 验证

php - 获取文本高度以了解 TCPDF 中的填充高度

php - zf2.如何处理循环 cli 脚本中 mysql 连接的超时?