我正在使用
PHP5的本机SOAP方法创建Web服务.在我尝试使用SOAP Headers处理身份验证之前,一切都很顺利.
我可以很容易地找到如何将用户名/密码添加到SOAP标头,客户端:
$myclient = new SoapClient($wsdl,$options); $login = new SOAPHeader($wsdl,'email','mylogin'); $password = new SOAPHeader($wsdl,'password','mypassword'); $headers = array($login,$password); $myclient->__setSOAPHeaders($headers);
但我找不到任何收集和处理这些头服务器端的方法.我猜想必须有一种简单的方法来在我的SoapServer中定义一个处理标题的方法……
SoapClient使用用户名和密码来实现HTTP身份验证.基本和摘要式身份验证是支持(
see source)
有关在服务器端在PHP中实现HTTP身份验证的信息,请参阅this manual page.
如果您不想使用HTTP身份验证,请参阅SoapServer手册页上的this user-contributed sample,其中显示了如何在UsernameToken标头中传递某些凭据.