首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从soap:header中获取SessionID?

如何从soap:header中获取SessionID?
EN

Stack Overflow用户
提问于 2015-11-12 15:14:10
回答 2查看 1.1K关注 0票数 1

我得到了soap响应,我需要SessionID。我试图使用SimpleXml_load_string,但得到了一个空对象。有谁知道如何获得SessionID吗?

这是xml响应:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
    <Header xmlns="http://www.twinfield.com/">
        <SessionID>ca363c52-c12f-4988-b06a-e0c41788e254</SessionID>
    </Header>
</soap:Header>
<soap:Body>
    <LogonResponse xmlns="http://www.twinfield.com/">
        <LogonResult>Ok</LogonResult>
        <nextAction>None</nextAction>
        <cluster>https://c3.twinfield.com</cluster>
    </LogonResponse>
</soap:Body>
</soap:Envelope>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 15:56:42

尝试使用DOM。这是一种方法:

代码语言:javascript
复制
$s = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
    <Header xmlns="http://www.twinfield.com/">
        <SessionID>ca363c52-c12f-4988-b06a-e0c41788e254</SessionID>
    </Header>
</soap:Header>
<soap:Body>
    <LogonResponse xmlns="http://www.twinfield.com/">
        <LogonResult>Ok</LogonResult>
        <nextAction>None</nextAction>
        <cluster>https://c3.twinfield.com</cluster>
    </LogonResponse>
</soap:Body>
</soap:Envelope>';

$doc   = new DOMDocument();
$doc->loadXML( $s );
echo $doc->getElementsByTagName('SessionID')->item(0)->nodeValue;
票数 0
EN

Stack Overflow用户

发布于 2015-11-12 15:53:57

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

https://stackoverflow.com/questions/33674773

复制
相关文章

相似问题

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