如何在SOAP请求中发送此身份验证标头?
问题描述:
我正在构建一个需要连接到web服务的PHP应用程序,该服务需要在每个身份验证请求中使用一个标头。如何随请求发送以下内容?我是否需要将SoapHeader和SoapClient一起使用?如何在SOAP请求中发送此身份验证标头?
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="Id-0001334008436683-000000002c4a1908-1"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>[username]</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-
token-profile-1.0#PasswordText">[password]</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
答
SOAP信封的结构如下:
所以,你应该送一个既有头(如你所述)和体SOAP信封包含请求本身的。
我想你应该在客户端上使用setSoapHeaders。请参阅链接中的示例。
希望这会有所帮助。祝你好运!