在SOAP中将SOAP Header添加到SOAP调用中

时间:2017-10-19 14:30:16

标签: php xml web-services soap

使用PHP 5.5.9,我正在尝试进行SOAP调用,但我无法弄清楚如何添加此标头:

<SOAP-ENV:Header>
    <wsa:Action>https://websvcs.adtrack.com/SmartLeadImport/Submit_Lead</wsa:Action>
    <wsa:MessageID>urn:uuid:GUID</wsa:MessageID>
    <wsa:ReplyTo>
        <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:To>http://stage.adtrack.com/SmartLeadImport/SmartLeadImport.asmx?wsdl</wsa:To>
    <wsse:Security SOAP-ENV:mustUnderstand="1">
        <wsu:Timestamp wsu:Id="Timestamp-GUID">
            <wsu:Created>2017-10-19T14:02:37Z</wsu:Created>
            <wsu:Expires>2017-10-19T14:07:37Z</wsu:Expires>
        </wsu:Timestamp>
        <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-GUID">
            <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">***************</wsse:Password>
            <wsse:Nonce>SOMENONSENSE</wsse:Nonce>
            <wsu:Created>2017-10-18T14:02:37Z</wsu:Created>
        </wsse:UsernameToken>
    </wsse:Security>
</SOAP-ENV:Header>

我真正遇到的问题是嵌套命名空间。我尝试了几种不同的方法。

  • 将XML添加到SoapVar,然后将其作为标题,但我无法弄清楚如何指定名称空间。
  • 尝试创建SoapHeaders,但那些看起来很奇怪,而且,我不知道如何确保所有命名空间都被占用。

任何帮助都会令人惊讶。感谢。

0 个答案:

没有答案
相关问题