php - 如何在 WSDL 中要求身份验证 Soap header ?

标签 php soap wsdl

我使用 SOAPServer 在 php 中创建了一个网络服务。它期望看到一个带有用户名和密码元素的 SoapHeader UsernameToken。当我在请求中包含此 header 时,实际上一切正常。只需在名为“UsernameToken”的 Soap 处理程序类中定义一个方法,即可调用此方法并将 stdClass Obj 传递给它。然后我可以通过 $Obj->username$Obj->password 验证用户。

我不知道要将什么添加到 WSDL 文件以首先定义此 UsernameToken header ,然后如何在 WSDL 中指示它是必需的?

我在某处读到新的 SOAP 标准弃用了“必需” header 的概念。

关于如何至少表明我的 wsdl 请求应包含此 header 的任何建议?

最佳答案

这是指定登录名的 WSDL 示例:https://ws1.webservices.nl/soap_doclit?wsdl

<binding name="Webservices.nlBinding" type="tns:Webservices.nlPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="login">
<soap:operation soapAction="https://ws1.webservices.nl/soap_doclit.php/login" style="document"/>
<input>
<soap:body use="literal"/>
<soap:header message="tns:Headers" part="HeaderLogin" use="literal"/>
<soap:header message="tns:Headers" part="HeaderAuthenticate" use="literal"/>
</input>

关于php - 如何在 WSDL 中要求身份验证 Soap header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185074/

相关文章:

php - PHP和MySQL的utf-8编码的字符串问题?

javascript - 从 Ajax 调用 .Net 中的 SOAP Web 方法时出现 500 服务器错误

wcf : string element nillable ="false"

java - 将Java Bean配置为Web服务

java - 在给定 WSDL 文件的情况下在 Java 中创建 SOAP 客户端

php - excel array column double/triple/etc..辅音生成

javascript - 我想获取城市名称的经纬度

php - Empty() 函数在 OOP 中不起作用

python - spyne SOAP Web 服务中的多个命名空间

javascript - 无法从 SOAP 解析 xml