如何在SOAP请求中发送此身份验证标头?

时间:2015-05-04 14:54:17

标签: php soap

我正在构建一个需要连接到Web服务的PHP应用程序,该服务需要在每个身份验证请求中使用标头。如何发送以下请求?我是否需要将SoapHeader与SoapClient一起使用?

<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>

1 个答案:

答案 0 :(得分:0)

SOAP信封具有以下结构:

enter image description here

因此,您应该发送一个SOAP信封,其中包含 Header (如您所描述的那个)和包含请求本身的 Body

我认为您应该在客户端上使用setSoapHeaders。请参阅链接中的示例。

希望这会有所帮助。祝你好运!