パスワードで保護された 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 中国語 Web サイトの他の関連記事を参照してください。