PHP を使用して WS-Security で保護された Web サービスに接続するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-07 02:45:03
オリジナル
647 人が閲覧しました

How to Connect to a WS-Security Protected Web Service Using PHP?

PHP を使用した WS-Security で保護された Web サービスへの接続

問題:

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]]);
ログイン後にコピー

追加メモ:

  • WS-Security が関係するケースの場合nonce とタイムスタンプを使用する場合は、回答セクションの別の実装を参照してください。
  • 回答で指定されたリンクで Stack Overflow によって提供されるメソッドと必ず比較してください。

以上がPHP を使用して WS-Security で保護された Web サービスに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!