14.8.11 SOAPサービスを呼び出す時にユーザ認証が必要な場合,どのようにユーザIDやパスワードを設定すればよいですか?
次のように,呼び出すサービスのURLにユーザIDとパスワードを指定することで,ユーザ認証が必要なSOAPサービスを呼び出すことができます。
http://<ユーザID>:<パスワード>@<ホスト名またはIPアドレス>:<ポート番号>/・・・
なお,SOAP通信基盤では,BASIC認証だけに対応しています(DIGEST/FORM/CLIENT-CERT認証には対応していません)。
次に,ユーザIDとパスワードを指定する実装例を示します。
-
RPC形態の場合
サービスクラス名:UserInfoServiceLocator
インタフェースクラス名:UserInfo
サービスのURL:http://hostname:8080/WebApp1/services/UserInfo
設定するユーザID:user1
設定するパスワード:pass1
このような場合,次のように実装します。
UserInfoServiceLocator uis = new UserInfoServiceLocator(); java.net.URL endpoint = new java.net.URL("http://user1:pass1@hostname:8080/WebApp1/services/UserInfo"); UserInfo ui = uis.getUserInfo(endpoint);