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 中国語 Web サイトの他の関連記事を参照してください。