WebSphere で WS-Security
どっぷりハマってしまったんで, さっさとダンプして忘れてしまおう.
環境は Rational Application Developer v6.0(以下, RAD) と Websphere Application Server v6.0(以下, WAS).
とりあえず, 記憶が残ってるうちに書き殴ったレベルなので, 後で修正する予定.
サーバ側を実装
- POJO な Web Service を実装*1
- オプションで Interface を定義
- Servlet を定義していない war 作成
- 上記実装クラス*2と web モジュールを含む ear 作成
- Rational Application Developer(以下 RAD) にインポート
- "ファイル" -> "新規" -> "その他" で web service wizard を起動
- Java Bean?? を指定して, 上記の実装クラスを指定*3
- 既存の Service Endpoint Interface を指定する場合は上記の Interface を指定
- セキュリティの指定なしの部分を 署名とか暗号化とか好きなやつに変更
- web モジュールの指定を上記の web モジュールに設定して終了??
- 待つ
- しばらく待つ
- 一服する
- なんか色々と出力される. web サービスのサーバーに wsdl ファイルとか見えてれば成功*4
- ハンドラーの設定とかしちゃったり
で, クライアント側.
次は WAS の設定
- 管理コンソールを起動
- 上記まで上手くいってればデポロイされてるはず
- グローバルセキュリティの項を表示
- "グローバルセキュリティを有効にする" を設定
- "Java セキュリティを有効にする" は無効にする
- コンソールユーザを設定する??
- 停止時にユーザとパスワードが必要になる
- 変更を保存する
- サーバーを停止する
- RAD から起動できなくてボヤく
- 適当にコンソールから起動
最後にクライアントを実行
WAS に付属の launchClient(.bat) を利用して, 上記のクライアントを含む ear を実行する