認証のためのWebサービス・スタブの手動変更

Webサービス・スタブを手動で変更する必要があるのは、次の2つの場合です。

WSDLドキュメントが保護されている場合

WSDLドキュメントが、ユーザー名とパスワードを必要とするHTTP Basic認証で保護されている場合は、JDeveloperで自動的に生成されたスタブを使用して、Webサービスにアクセスすることはできません。

Webサービス・スタブを作成するには、適切な認証情報を入力できるWebブラウザでWSDLドキュメントにアクセスします。WSDLドキュメントをローカルに保存し、そのWSDLドキュメントのコピーからスタブを作成します。

プロキシ・サーバーで認証を必要とする場合

ファイアウォール外のサイトにアクセスするときに社内のプロキシ・サーバーで認証を必要とする場合、正しいHTTP認証コードがないかぎりスタブは機能しません。 この仕組みを保証するための方法は2通りあり、それぞれの詳細を次に示します。

1つ目の方法は、Webサービス・スタブ/スケルトン・ウィザードで、「HTTP Basic認証コードの生成」オプションを選択した上でスタブを生成することです。スタブで次のコード・ブロックを検索します。

Properties props = new Properties(); props.put(OracleSOAPHTTPConnection.AUTH_TYPE, "basic"); props.put(OracleSOAPHTTPConnection.USERNAME, "your_username"); props.put(OracleSOAPHTTPConnection.PASSWORD, "your_password"); m_httpConnection.setProperties(props);

これを次のコードで置き換えてください。

Properties props = new Properties(); props.put(OracleSOAPHTTPConnection.PROXY_AUTH_TYPE, "basic"); props.put(OracleSOAPHTTPConnection.PROXY_HOST, "www-your-proxy"); props.put(OracleSOAPHTTPConnection.PROXY_PORT, "80"); props.put(OracleSOAPHTTPConnection.PROXY_USERNAME, "your_username"); props.put(OracleSOAPHTTPConnection.PROXY_PASSWORD, "your_password"); m_httpConnection.setProperties(props);

あるいは、このコードでシステム・プロパティを設定し、これが<jdev_install_dir>\jdev\bin\jdev.confファイルに入力されると、同じ結果が得られます。

顧客が認証済プロキシ・ファイアウォールを経由し、UDDIブラウザを使用して外部のレジストリにアクセスできるようにするには、jdev.confに次のエントリを入力します。

AddVMOption -Dhttp.proxyAuthType=<http authentication mechanism e.g. basic or digest>
AddVMOption -Dhttp.proxyUsername=<username>
AddVMOption -Dhttp.proxyPassword=<password>

=記号(空白なし)の後には認証に必須の各値が入ります。


AddVMOption -Dhttp.proxyAuthType=basic
AddVMOption -Dhttp.proxyUsername=scott
AddVMOption -Dhttp.proxyPassword=tiger

この場合、プロキシ・サーバーに設定されるHTTP Basic認証では、認可対象者のユーザー名がscottで、そのパスワードがtigerとなります。


Webサービス・スタブの生成

 

Copyright © 1997, 2004, Oracle. All rights reserved.