Webサービスを使用すると、プラットフォームおよび言語に依存しない環境で、Webを介したアプリケーション間の通信が可能になります。典型的なWebサービスの使用例には、ビジネス・アプリケーションでHTTPプロトコルを使用して、指定したURLのサービスにリクエストを送信することがあります。 サービスは、リクエストを受信すると、これを処理し、レスポンスを返します。 外部Webサービスとのコールは、Oracle Application Expressで開発したアプリケーション内に組み込むことができます。
Oracle Application ExpressのWebサービスは、SOAP(Simple Object Access Protocol)に基づいています。SOAPは、World Wide Web Consortium(W3C)が策定した、インターネットを介したリクエストとレスポンスの送受信用の標準プロトコルです。SOAPメッセージは、サービス・プロバイダとサービス・ユーザー間でSOAPエンベロープに入れて送受信できます。
このチュートリアルでは、Oracle Application Expressアプリケーション内からWebサービスをコールする方法について説明します。
このセクションの内容は次のとおりです。
|
注意: SOAP 1.1仕様はW3C覚書です。(SOAPより優先される標準を作成するために、W3C XML Protocol Working Groupが結成されています。)Simple Object Access Protocol(SOAP)1.1については、次のWebサイトを参照してください。 http://www.w3.org/TR/SOAP/ |
|
参照: 『Oracle Database Application Expressユーザーズ・ガイド』の「Webサービスの実装」 |
Oracle Application ExpressでWebサービスを使用するには、ウィザードを使用してWebサービス参照を作成します。各Webサービス参照は、ターゲットWebサービスを説明するWeb Services Description Language(WSDL)ドキュメントをベースにしています。Webサービス参照を作成する場合、ウィザードはWSDLを分析して必要な情報をすべて収集し、有効なSOAPメッセージを作成します。
Webサービス参照では、次の方法でWSDLを検索できます。
Universal Description, Discovery, and Integration(UDDI)レジストリでサービス名またはビジネス名のいずれかを検索する。
UDDIレジストリは、ビジネスでWebサービスを登録するディレクトリです。
WSDLドキュメントのURLを入力する。
このチュートリアルでは、UDDIレジストリを検索して、Webサービス参照を作成します。
最初に、新しいアプリケーションを作成します。
アプリケーションを作成するには、次のステップを実行します。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
「アプリケーション・ビルダー」ホームページが表示されたら、「作成」をクリックします。
「方法」で、デフォルトの「アプリケーションの作成」を受け入れて「次へ」をクリックします。
「名前」で、次のステップを実行します。
「名前」に、Web Servicesと入力します。
残りのデフォルトを受け入れて「次へ」をクリックします。
次のステップで空白ページを追加します。
図7-1に示すように、「ページ・タイプの選択」で、デフォルトの「空白」を受け入れます。
図7-1 ページの追加

「ページ名」に、Web Servicesと入力して「ページの追加」をクリックします。
ページ上部のリストに、新しいページが表示されます。
「次へ」をクリックします。
「タブ」で、デフォルトの「1レベルのタブ」を受け入れて「次へ」をクリックします。
「共有コンポーネント」で、デフォルトを受け入れて「次へ」をクリックします。
「属性」で、「認証スキーム」、「言語」、「ユーザー言語プリファレンスの派生元」にデフォルトを受け入れて、「次へ」をクリックします。
「ユーザー・インタフェース」で、「テーマ2」を選択して「次へ」をクリックします。
選択内容を確認して、「作成」をクリックします。
「アプリケーション」ホームページが表示されます。
インターネットのアクセスにプロキシ・サーバーが必要な環境の場合は、Webサービス参照を作成する前に「アプリケーション属性」ページでプロキシ・サーバー・アドレスを指定する必要があります。
プロキシ・アドレスを指定するには、次のステップを実行します。
「アプリケーション」ホームページで、「属性の編集」アイコンをクリックします。
「定義」をクリックします。
「名前」で、「プロキシ・サーバー」にプロキシ・サーバーを入力します。
「変更の適用」をクリックします。
「アプリケーション」ホームページが表示されます。
この演習では、UDDIレジストリでサービス名を検索して、Webサービス参照を作成します。 その後で、先物市場を表示するためのフォームとレポートを作成します。
|
注意: 次の演習は、指定したUDDIレジストリおよび最終的に起動されるWebサービスの可用性によって異なります。 UDDIレジストリまたはWebサービスを使用できない場合、この演習を行う際に問題が発生する可能性があります。 |
サービス名を検索して、新しいWebサービスを作成するには、次のステップを実行します。
「アプリケーション・ビルダー」ホームページにナビゲートします。
「Webサービス」アプリケーションをクリックします。
「共有コンポーネント」をクリックします。
「共有コンポーネント」ページが表示されます。
「ロジック」で、「Webサービス参照」を選択します。
「Webサービス参照」ページが表示されます。
「作成」をクリックします。
WSDLを検出するためにUDDIレジストリを検索するかどうかを尋ねるプロンプトが表示されたら、「はい」を選択して「次へ」をクリックします。
「UDDIの位置」で、「XMethods UDDI v2」を選択して「次へ」をクリックします。
「検索」で、次のステップを実行します。
「検索タイプ」で、「サービス名」を選択します。
「名前」に、xigniteと入力して「検索」をクリックします。
これは、マーケット・ニュース用の検索エンジンです。
「一致しているサービス」で、「XigniteFutures」を選択します。
「次へ」をクリックします。
選択したWebサービスについて説明するサマリー・ページが表示されます。
選択内容を確認して、「次へ」をクリックします。
「WSDLの位置」フィールドに、WSDLドキュメントへのURLが表示されます。
「終了」をクリックします。
Webサービス参照(XigniteFutures)がWebサービス参照リポジトリに追加されます。
次に、フォームとレポートが含まれるページを作成する必要があります。
Webサービス参照を作成した後に、フォームとレポートを作成するには、次のステップを実行します。
「Webサービス参照の作成」ページで、「Webサービスのフォームとレポートの作成」を選択します。
「サービスと操作の選択」で、次のステップを実行します。
「Webサービス参照」で、「XigniteFutures」を選択します。
「操作」で、「ListFuturesByExchange」を選択します。
「次へ」をクリックします。
「ページおよびリージョン属性」で、次のステップを実行します。
「フォーム・リージョン・タイトル」を、「List Futures by Exchange」に変更します。
その他のデフォルトを受け入れて「次へ」をクリックします。
「入力アイテム」で、次のステップを実行します。
P2_USERNAME、P2_PASSWORD、P2_TRACERの場合は、「作成」列で「いいえ」を選択します。
P2_EXCHANGEの場合は、「作成」列でデフォルトの「はい」を受け入れます。
「次へ」をクリックします。
「Webサービスの結果」で、次のステップを実行します。
「一時結果セット名(コレクション)」で、デフォルトを受け入れます。
「レポート対象の結果ツリー」で、「Future (tns:Future)」を選択します。
「次へ」をクリックします。
「表示する結果パラメータ」で、すべてのパラメータを選択して「終了」をクリックします。
「ページの実行」をクリックします。
ログイン・ページが表示されたら、作業領域のユーザー名およびパスワードを入力して「ログイン」をクリックします。
図7-2に示すようなフォームとレポートが表示されます。ページの上部にある「List Futures by Exchange」フォームには、データ・エントリ・フィールドおよび「送信」ボタンがありますが、「Results」レポートには、データはありません。
フォームをテストするには、「Exchange」に、NYMEXと入力して「送信」をクリックします。
ページの下部にあるレポートは、図7-3のようになります。レポートには、ニューヨーク商品取引所(NYMEX)の先物の記号、名前、月、年が表示されます。