我正在使用PHP构建一个SOAP服务器,它通过其WSDL配置接受以下形式的消息:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://my.awesome.namespace/">
<SOAP-ENV:Header>
<ns1:Header>
<ns1:APIKey>E4C5BDE0-48DC-543C-1CA3-8E55C63F8E60</ns1:APIKey>
<ns1:SiteID>111</ns1:SiteID>
</ns1:Header>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:Heartbeat>
<ns1:Message>Hello world.</ns1:Message>
</ns1:Heartbeat>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
我没有问题让我的SOAPServer处理心跳消息 -
$server->addFunction("Heartbeat");
运行良好。然而,我希望能够处理<ns1:Header>
封装的内容 - 这样我就可以验证API密钥和站点ID,以确保它们是应该的。我在这里(当然还有其他地方)查看了一下,但回答者似乎错过了问题的要点。有人知道我如何访问头元素进行验证吗?我是否像在正文中添加方法一样为Header添加一个函数?(
$server->addFunction("Header");
?)非常感谢您的提前帮助。