連接到受密碼保護的Web 服務並解決授權問題
嘗試透過PHP 存取受WS 安全保護的Web 服務時,您可能會在配置正確的授權時遇到困難。本指南旨在提供全面的解決方案來解決這些挑戰。
對授權問題進行故障排除
解決方案:利用WsseAuthHeader
要建立安全連接,您可以擴展SoapHeader 類別並建立符合Wsse 的身份驗證標頭:
class WsseAuthHeader extends SoapHeader { private $wss_ns = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'; function __construct($user, $pass, $ns = null) { if ($ns) { $this->wss_ns = $ns; } // ... (rest of the class definition as provided in the answer) } }
建立後,可以將WsseAuthHeader 物件設定為soap 標頭:
$wsse_header = new WsseAuthHeader($username, $password); $x = new SoapClient('{...}', array("trace" => 1, "exception" => 0)); $x->__setSoapHeaders(array($wsse_header));
此方法應成功與受WS 安全保護的Web 服務建立經過驗證的連線。
其他選項
參考其他解決方案:探索其他資源以取得替代方案使用PHP 存取受WS 安全保護的Web 服務的方法,例如:
以上是如何使用 PHP 對受密碼保護的 Web 服務進行驗證?的詳細內容。更多資訊請關注PHP中文網其他相關文章!