Web サービスクライアントが認証を使用できるように設定する

このセクションでは、認証を使用するプロキシおよびダイナミッククライアントをコーディングする方法について説明します。また、Web アプリケーションのデプロイメントディスクリプタ web.xml をクライアント認証に使用できるように設定する方法についても説明します。

認証を使用するためのプロキシクライアントのコーディング

プロキシクライアントにおいて認証を使用するには、次の例で太字で示しているようにユーザー名とパスワードを設定できます。

proxy.SampleJavaClass client = new proxy.SampleJavaClass();
proxy.SampleJavaClassPortType stubI =
client.getSampleJavaClassPort();
proxy.SampleAuthServiceSoapBindingStub stub =
(proxy.SampleAuthServiceSoapBindingStub) stubI;
stub._setProperty("user.id","AxisUser");
stub._setProperty("user.password","AxisPassword");

認証を使用するためのダイナミッククライアントのコーディング

オブジェクトベースまたはスクリプトレットベースのダイナミッククライアントにおいて認証を使用するには、次の例で太字で示しているようにユーザー名とパスワードを設定できます。

Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setProperty(Call.NAMESPACE, serviceName);
call.setOperationName("calculate");
call.setProperty("http.auth.username", "user");
call.setProperty("http.auth.password", "password");

Web サービスのタグライブラリを使用する JSP において認証を使用するには、invoke タグにユーザー名とパスワードの値を指定します。詳細については、 「Web サービスタグライブラリリファレンス」 を参照してください。

クライアント認証を使用するための web.xml ファイルの設定

セキュリティを使用するように Web アプリケーションを設定するには、Web アプリケーションの WEB-INF ディレクトリ内の web.xml ファイルに security-constraint および login-config セクションを追加する必要があります。次の例は、security-constraint および login-config セクションを示しています。url-pattern および role-name の値を Web サービスに対応した値で置き換えます。url-pattern は Web サービスの URL の全部または一部を表しています。これにより、その Web サービスにのみ認証を適用できます。クライアント内に Web サービスの URL を指定するときは、別個の URL パターンを持つように、サービス名を含んでいる完全な URL を使用してください。role-name は server-config.wsdd ファイルに指定された allowedRoles 値と一致します。

<security-constraint> 
    <web-resource-collection> 
      <url-pattern>/services/SampleAuthService*</url-pattern> 
      <http-method>GET</http-method> 
      <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
      <role-name>AxisRole</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config>
  <auth-method>BASIC</auth-method>
</login-config>