使用PHP 連接到受密碼保護的Web 服務並在建立之前進行身份驗證一個請求被證明是一個挑戰。將服務定義為 SoapClient 或 SoapServer 似乎都無法成功連線到遠端站台。
要建立與受 WS-Security 保護的 Web 服務的連接,請利用 SoapHeader建立符合 WS-Security 的身份驗證標頭。
透過建立定義 WS-Security 標頭細節的自訂類別來擴充 SoapHeader 類別。
class WsseAuthHeader extends SoapHeader { // ... (your code to generate the WS-Security header) }
使用必要的憑證(使用者名稱、密碼)實例化自訂標頭類,並將其傳遞給 SoapClient 建構子。
$wsse_header = new WsseAuthHeader($username, $password); $client = new SoapClient('service URL', ['__setSoapHeaders' => [$wsse_header]]);
以上是如何使用 PHP 連線到受 WS-Security 保護的 Web 服務?的詳細內容。更多資訊請關注PHP中文網其他相關文章!