Webサービス・スタブを手動で変更する必要があるのは、次の2つの場合です。
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
となります。
Copyright © 1997, 2004, Oracle. All rights reserved.