このセクションでは、認証を使用するプロキシおよびダイナミッククライアントをコーディングする方法について説明します。また、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 アプリケーションを設定するには、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>