ヘッダーをスキップ
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース4.2 for Oracle Database 12c
B71338-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

17.7 Webサービスの実装

Webサービスを使用すると、プラットフォームおよび言語に依存しない環境で、Webを介したアプリケーション間の通信が可能になります。通常のWebサービス・シナリオでは、ビジネス・アプリケーションが、HTTPプロトコルを使用して、特定のURLにあるサービスに対してリクエストを送信します。サービスは、リクエストを受信すると、これを処理し、レスポンスを返します。外部Webサービスへのコールをアプリケーション・ビルダーで開発されたアプリケーションに組み込むことができます。

通常、Webサービスは、Simple Object Access Protocol(SOAP)またはRepresentational State Transfer(REST)アーキテクチャに基づいています。SOAPは、World Wide Web Consortium (W3C)が策定した、インターネットを介したリクエストとレスポンスの送受信用の標準プロトコルです。SOAPメッセージは、サービス・プロバイダとサービス・ユーザー間でSOAPエンベロープに入れて送受信できます。RESTful Webサービスはリソース指向です。WebサービスのスコープはURI内から検出され、サービスのメソッドは使用されるHTTPメソッドによって記述されます。これらのHTTPメソッドには、GET、POST、PUT、HEADおよびDELETEなどがあります。

SOAPには、主に2つのメリットがあります。


ヒント:

Oracle Application ExpressをOracle Database 11g リリース1 (11.1)以上とともに実行する場合は、Webサービスを使用するためにネットワーク・サービスを有効にする必要があります。「Oracle Database 12cのネットワーク・サービスの有効化」を参照してください。

RESTには、同様のメリットがあります。

内容は次のとおりです。


注意:

SOAP 1.1仕様はW3C技術ノートです。SOAPバージョン1.2仕様はW3C勧告です。

Simple Object Access Protocol(SOAP)については、次のWebサイトを参照してください。

http://www.w3.org/TR/SOAP/


17.7.1 Webサービス参照の理解

Oracle Application ExpressでWebサービスを使用するには、ウィザードを使用してWebサービス参照を作成します。Webサービス参照は、Web Services Description Language(WSDL)ドキュメントに基づくか、RESTfulスタイルに基づくか、サービスに関する情報を指定して手動で作成することができます。

WSDLに基づいてWebサービス参照を作成する場合、ウィザードはWSDLを分析し、すべての必要な情報を収集して、次を含んだ有効なSOAPメッセージを作成します。

  • HTTP(S)を介したSOAPリクエストのポストに使用するURL

  • SOAP HTTPリクエストを識別するUniversal Resource Identifier(URI)

  • Webサービスの操作

  • 各操作の入力パラメータ

  • 各操作の出力パラメータ

手動でWebサービス参照を作成する場合、必要な情報を指定して、次を含んだ有効なSOAPリクエストを作成します。

  • HTTP(S)を介したSOAPリクエストのポストに使用するURL

  • SOAP HTTPリクエストを識別するUniversal Resource Identifier(URI)

  • アイテムの置換を含んだリクエストのSOAPエンベロープ

  • オプションで、Webサービスからのレスポンスを格納するコレクション名

RESTful Webサービス参照を作成する場合、次を含むリクエストおよびレスポンスの構造に関する必要な情報を指定します。

  • RESTfulリクエストを識別するUniversal Resource Identifier(URI)

  • Webサービスのメソッドを識別するHTTPメソッド

  • リクエストの一部であるHTTPヘッダー(必要に応じて)

  • Webサービスに必要な入力のタイプ

  • レスポンスの書式およびレスポンス・パラメータの識別方法

17.7.1.1 Webサービス参照ページへのアクセス

Webサービス参照は、Webサービス参照ページで管理します。

Webサービス参照ページにアクセスするには、次のステップを実行します。

  1. 「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    アプリケーション・ビルダーのホームページが表示されます。

  2. アプリケーションを選択します。

    アプリケーションのホームページが表示されます。

  3. 「共有コンポーネント」をクリックします。

    共有コンポーネント・ページが表示されます。

  4. 「ロジック」で、「Webサービス参照」をクリックします。

    Webサービス参照ページが表示されます。

17.7.1.2 アプリケーション・プロキシ・サーバー・アドレスの指定

インターネットのアクセスにプロキシ・サーバーが必要な環境の場合は、Webサービス参照を作成する前にアプリケーション属性ページでプロキシ・サーバー・アドレスを指定する必要があります。

アプリケーションにプロキシ・アドレスを指定するには、次のステップを実行します。

  1. 「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

    アプリケーション・ビルダーのホームページが表示されます。

  2. アプリケーションを選択します。

    アプリケーションのホームページが表示されます。

  3. 「アプリケーション・プロパティの編集」をクリックします。

  4. 「プロパティ」の下の「プロキシ・サーバー」フィールドにプロキシ・サーバーを入力します。

  5. 「変更の適用」をクリックします。

17.7.2 SSL有効Webサービスでの作業

Secure Sockets Layer(SSL)は、RSA公開鍵による暗号化と対称鍵による暗号化を使用して、認証、暗号化およびデータの整合性を実現する業界標準プロトコルです。

通信する必要のあるWebサービスがSSL有効Webサービスの場合(つまり、Webサービスに対するURLにhttpsと表示される)、ウォレットを作成し、そのウォレットがOracle Application Expressによって使用されるように構成する必要があります。ウォレットは、SSLに必要な認証および署名された資格証明(秘密鍵、証明書および信頼できる証明書)の格納に使用されるパスワード保護されたコンテナです。


関連項目:

Oracle Application Express管理ガイドの「ウォレット情報の構成」

17.7.3 WSDLに基づいたWebサービス参照の作成

WSDLに基づいたWebサービス参照を作成する場合、WSDLの位置の特定方法を決定する必要があります。WSDLの位置の特定には、次の2つの方法があります。

  • Universal Description, Discovery and Integration (UDDI)レジストリを検索する

  • WSDLドキュメントのURLを入力する

UDDIレジストリは企業がWebサービスを登録するディレクトリです。

内容は次のとおりです。

17.7.3.1 UDDIレジストリの検索によるWebサービス参照の作成

UDDIレジストリを検索して、Webサービスを作成するには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「作成」をクリックします。

  3. 「WSDLに基づく」を選択し、「次へ」をクリックします。

  4. WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「はい」の次に「次へ」をクリックします。

  5. 「UDDIの位置」で、UDDIレジストリへのURLエンドポイントを入力し、「次へ」をクリックします。

  6. 「検索」で、次のように指定します。

    1. 検索タイプ: ビジネス名またはサービス名のどちらを検索するかを指定します。両方を検索することはできません。

    2. 名前: 検索に使用するビジネス名またはサービス名を入力します。ワイルドカードにはパーセント(%)を使用します。

    3. オプションで、完全一致検索または大文字/小文字を区別する検索を指定できます。

    4. 「検索」をクリックします。

    5. 検索結果が表示されたら、選択した後で「次へ」をクリックします。

    選択したWebサービスについて説明するサマリー・ページが表示されます。

  7. 選択内容を確認し、「次へ」をクリックして続行します。

    WSDLドキュメントへのURLが「WSDLの位置」フィールドに表示されます。

  8. 「終了」をクリックします。

Webサービス参照がWebサービス参照リポジトリに追加されます。

17.7.3.2 WSDLドキュメントの指定によるWebサービス参照の作成

特定のWSDLドキュメントへのURLを指定して、Webサービスを作成するには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「作成」をクリックします。

  3. 「WSDLに基づく」を選択し、「次へ」をクリックします。

  4. WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「いいえ」の次に「次へ」をクリックします。

  5. 「WSDLの位置」に、WSDLドキュメントへのURLを入力します。

  6. 「ユーザー名」で、WSDLへのアクセスに必要なユーザー名を入力します。

  7. 「パスワード」で、WSDLへのアクセスに必要なパスワードを入力します。

  8. 「次へ」をクリックします。

    Webサービスの詳細ページが表示されます。

  9. 「基本認証」で次を選択します。

    • いいえ: 認証資格証明をHTTPリクエストの一部として送信しない場合は、このオプションを選択します。

    • はい: 認証資格証明をHTTPリクエストの一部として送信する場合は、このオプションを選択します。ユーザー名とパスワードがクリア・テキストで送信されるため、基本認証を使用するWebサービスでは、通常、HTTPS (SSL)プロトコルも使用されます。

  10. 「参照の作成」をクリックします。

    Webサービス参照がWebサービス参照リポジトリに追加されます。

  11. 作成ページで、次を選択できます。

17.7.4 Webサービス参照の手動作成

Webサービス参照を手動作成するには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「作成」をクリックします。

  3. 「手動」を選択し、「次へ」をクリックします。

    Webサービスの作成/編集ページが表示されます。

  4. 「Webサービス」の下の「名前」で、参照を識別するための名前を入力します。

  5. 「サービスの説明」で、次の変更を行います。

    1. URL: HTTPを介したSOAPリクエストのポストに使用するURLを入力します。これは、WSDLのサービス・ポートのsoap:addressの位置に対応します。

    2. アクション: SOAP HTTPリクエストの目的を入力します(オプション)。値は目的を識別するURIです。SOAPは、URIの形式や特性、または変換可能かどうかについて制限を加えません。

    3. プロキシ: このサービスのアプリケーション・プロキシを上書きするプロキシを入力します。

    4. SOAPのバージョン: 「1.1」または「1.2」を選択します。

    5. Basic認証: Webサービスが認証を必要とするかどうかを選択します。「はい」または「いいえ」を選択します。

  6. 「SOAPエンベロープ」の下の「SOAPエンベロープ」で、WebサービスへのSOAPリクエストに使用するSOAPエンベロープを入力します。


    注意:

    #ITEM_NAME#構文を使用すると、SOAPエンベロープのセッション・ステートからアイテムを参照できます。

  7. 「SOAPレスポンス」の下の「コレクションにレスポンスを格納」で、レスポンスを格納するコレクション名を入力します(オプション)。レスポンスはCLOB001列に格納されます。

  8. 「作成」をクリックします。

Webサービス参照がWebサービス参照リポジトリに追加されます。

17.7.5 RESTful Webサービス参照の作成

アプリケーションからRESTful Webサービスを使用する場合、RESTful Webサービス参照を作成する必要があります。

RESTful Webサービス参照を作成するには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「作成」をクリックします。

  3. 「REST」を選択して「次へ」をクリックします。

  4. 「RESTの詳細」で、次のように指定します。

    1. 名前: 参照を識別する名前を入力します。

    2. URL: WebサービスのURLエンドポイントを入力します。

    3. プロキシ: このサービスのアプリケーション・プロキシを上書きするプロキシを入力します(オプション)。この設定は、このインスタンスのプロキシ設定によってオーバーライドされます。『Oracle Application Express管理ガイド』のインスタンス用のプロキシ・サーバーの作成に関する説明を参照してください。

    4. HTTPメソッド: Webサービスへのリクエストに使用するhttpメソッドを選択します。「GET」「HEAD」「POST」「PUT」または「DELETE」を選択します。

    5. 基本認証: HTTP基本認証が必要な場合は「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    6. REST HTTPヘッダー: リクエストで送信するHTTPヘッダーの名前を入力します。

    7. 「次へ」をクリックします。

  5. 「REST入力パラメータ」で、次のように指定します。

    1. 名前: メソッドに必要な入力パラメータの名前を入力します。

    2. タイプ: 入力タイプを選択します。

    3. 「パラメータの追加」をクリックします。

    4. 必要な各入力に対して、ステップaからcを繰り返します。

    5. 「次へ」をクリックします。

  6. 「REST出力パラメータ」で、次のように指定します。

    1. 出力形式: Webサービスから返されるレスポンス形式について「XML」「テキスト」または「JSON」を選択します。

    2. 出力パラメータへのXPath(XMLのみ): レスポンスの関連部分へのXPath式を入力します。

      次に例を示します。

      /ListBucketResult/Contents
      
    3. レスポンス・ネームスペース(XMLのみ): レスポンスXPathに対応する名前空間を入力します。

      次に例を示します。

      http://s3.amazonaws.com/doc/2006-03-01/
      
    4. パラメータ・デリミタ(テキストのみ): Webサービスから返されるパラメータを区切る文字または順序を入力します。新しい行を表すには\nを、タブ文字を表すには\tを使用します。

    5. 新規レコード・デリミタ(テキストのみ): Webサービスからのテキスト・レスポンスに含まれる新規レコードを特定する文字または順序を入力します。新しい行を表すには\nを、タブ文字を表すには\tを使用します。

    6. 名前: メソッドによって戻される出力パラメータの名前を入力します。

    7. パス: パスを入力します。レスポンスがXMLの場合、パスはノードへのXPath式です。レスポンスがテキストの場合、パスは数値です。レスポンスがJSONの場合は、指定したコレクションのCLOB001列にレスポンス全体が格納されます。

    8. タイプ: 出力タイプを選択します。

    9. 「パラメータの追加」をクリックします。

    10. 返される各出力パラメータに対して、ステップfからhを繰り返します。


    注意:

    「テスト」をクリックしてRESTful Webサービスにリクエストを送信し、レスポンスを確認します。このテスト・プロセスは、適切な出力パラメータを指定する際に役立ちます。

  7. 「作成」をクリックします。

Webサービス参照の作成成功ページが表示されます。Webサービス参照がWebサービス参照リポジトリに追加されます。

17.7.6 Webサービス参照リポジトリの使用

Webサービス参照がWebサービス参照リポジトリに格納されます。

Webサービス参照リポジトリにアクセスするには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

    Webサービス参照ページが表示されます。

    検索バーがページの上部に表示されます。使用可能なコントロールは次のとおりです。

    • 「列の検索」アイコン: 虫めがねに似ています。このアイコンをクリックして、検索を絞り込みます。すべての列を検索するには、「すべての列」を選択します。

    • テキスト領域: 大/小文字を区別しない検索基準(ワイルドカード文字は暗黙的に定義される)を入力し、「実行」をクリックします。

    • 「実行」ボタン: 検索を実行したり、フィルタを適用します。

    • アイコンの表示: 各Webサービス参照を大きいアイコンとして表示します。Webサービス参照を編集するには、該当するアイコンをクリックします。

    • レポートの表示: 各Webサービス参照をレポート内の1行として表示します。

    • アクション・メニュー: アクション・メニューを表示します。レポート・ビューをカスタマイズするにはこのメニューを使用します。「「アクション」メニューについて」を参照してください。

  2. 「レポートの表示」アイコンをクリックします。

  3. レポート・ビューでは、次の操作が可能です。

    • 参照名をクリックして参照を編集します。

    • 「テスト」アイコンをクリックして参照をテストします。

    • 「ビュー」アイコンをクリックして参照に関する詳細を表示します。このオプションは、手動作成されたWebサービス参照またはREST Webサービス参照には使用できないことに注意してください。

17.7.7 WSDLから作成されたWebサービス参照のテスト

Webサービス参照を作成した後、Webサービス参照のテスト・ページでテストできます。

Webサービス参照をテストするには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「レポートの表示」アイコンを選択します。

  3. テストするWebサービス参照の「テスト」アイコンをクリックします。

    Webサービス参照のテスト・ページが表示されます。ページの上部に、Webサービス名とURLエンドポイントが表示されます。

  4. 「操作」から、実行する操作を選択します。

  5. 「入力パラメータ」で、適切な値を入力します。

  6. 「テスト」をクリックします。

    ページの下部の「メッセージ」の下に、メッセージ・リクエストとレスポンスが表示されます。

17.7.8 手動作成されたWebサービス参照のテスト

Webサービス参照を作成した後、Webサービス参照のテスト・ページでテストできます。

Webサービス参照をテストするには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「レポートの表示」アイコンを選択します。

  3. テストするWebサービス参照の「テスト」アイコンをクリックします。

    Webサービス参照のテスト・ページが表示されます。ページの上部に、Webサービス名とURLエンドポイントが表示されます。

  4. 必要に応じて、「Basic認証」でユーザー名およびパスワードを入力します。

  5. 「SOAPエンベロープ」テキスト領域では、オプションで、SOAPリクエスト・エンベロープを編集します。

  6. 「テスト」をクリックします。

    ページの下部の「メッセージ」の下に、メッセージ・リクエストとレスポンスが表示されます。

17.7.9 REST Webサービス参照のテスト

Webサービス参照を作成した後、Webサービス参照のテスト・ページでテストできます。

Webサービス参照をテストするには、次のステップを実行します。

  1. Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。

  2. 「レポートの表示」アイコンを選択します。

  3. テストするWebサービス参照の「テスト」アイコンをクリックします。

    Webサービス参照のテスト・ページが表示されます。ページの上部に、Webサービス名とURLエンドポイントが表示されます。

  4. 「URL」および「プロキシ・オーバーライド」フィールドで、オプションでテストの値を編集します。

  5. 必要に応じて、「Basic認証」でユーザー名およびパスワードを入力します。

  6. 「HTTPヘッダー」で、適切な値を入力します。

  7. 「入力パラメータ」で、適切な値を入力します。

  8. 「テスト」をクリックします。

    ページの下部の「メッセージ」の下に、メッセージのレスポンスが表示されます。

17.7.10 Webサービスでの入力フォームとレポートの作成

Webサービスのフォームとレポートの作成ウィザードでは、入力フォーム、送信ボタンおよび結果を表示するレポートが作成されます。WSDLまたはRESTfulスタイルWebサービスからWebサービス参照を作成した直後に、またはページを追加して、このウィザードを実行できます。

このウィザードは、Webサービスの結果が非スカラーであることが予想される場合に使用します。Amazon社のProduct API Webサービスがよい例です。このWebサービスでは、入力フォームに入力された検索基準に基づいて多くの結果が戻されます。

17.7.10.1 参照を作成した後のフォームとレポートの作成

Webサービス参照を作成した後に、フォームとレポートを作成するには、次のステップを実行します。

  1. Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」および「RESTful Webサービス参照の作成」を参照してください。

  2. Webサービス参照が追加された後で、「Webサービスのフォームとレポートの作成」を選択します。

  3. 「サービスと操作の選択」で、次の選択を行い、「次へ」をクリックします。

    1. Webサービス参照: Webサービス参照を選択します。

    2. 操作: 実行方法を選択します。RESTスタイルWeb参照の場合、「doREST」を選択します。

    3. ユーザー・インタフェース: デスクトップ用のフォームとレポートを作成する場合は、「デスクトップ」を選択します。携帯電話用のフォームとレポートを作成する場合は、「jQuery Mobileスマートフォン」を選択します。「jQuery Mobileスマートフォン」オプションは、アプリケーション・プロパティのユーザー・インタフェース・オプションで「jQuery Mobileスマートフォン」が選択されている場合にのみ使用可能です。「アプリケーションのユーザー・インタフェースの管理」を参照してください。

  4. 「ページおよびリージョン属性」で、表示された属性を確認し、「次へ」をクリックします。


    注意:

    指定したページが存在しない場合は、ウィザードによってページが作成されます。

  5. 「入力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  6. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定して「次へ」をクリックします。


    注意:

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されます。

  7. ウィンドウ・サービスの結果で、次の選択を行い、「次へ」をクリックします。

    1. 一時結果セット名: Webサービスの結果を格納するコレクションの名前を入力します。

    2. レポート対象の結果ツリー(RESTスタイルWebサービス参照では表示されない): レポートに含める情報を格納する、作成されるXML文書の一部を選択します。

  8. 「レポート・パラメータ」で、レポートに含めるパラメータを選択し、「次へ」をクリックします。

  9. 「タブ・オプション」で、ページにタブを含めるかどうかとタブの作成方法を選択し、「次へ」をクリックします。

  10. 確認ページを確認して、「作成」をクリックします。

17.7.10.2 新しいページの追加によるフォームとレポートの作成

既存のWebサービス参照がある場合は、新しいページを追加して、入力フォームとレポートを作成できます。

新しいページを追加して、フォームとレポートを作成するには、次のステップを実行します。

  1. Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」「Webサービス参照の手動作成」および「RESTful Webサービス参照の作成」を参照してください。

  2. 新しいページを作成します。「データベース・アプリケーションのページの管理」を参照してください。

    「ページの作成」ウィザードで、次のステップを実行します。

    1. 「ユーザー・インタフェース」で、「デスクトップ」を選択して、デスクトップのフォームおよびレポートを作成します。携帯電話用のフォームとレポートを作成する場合は、「jQuery Mobileスマートフォン」を選択します。「jQuery Mobileスマートフォン」オプションは、アプリケーション・プロパティのユーザー・インタフェース・オプションで「jQuery Mobileスマートフォン」が選択されている場合にのみ使用可能です。「アプリケーションのユーザー・インタフェースの管理」を参照してください。

    2. 「フォーム」を選択して、「次へ」をクリックします。

    3. 「Webサービスのフォームとレポート」を選択し、「次へ」をクリックします。

  3. 「サービスと操作の選択」で、次の選択を行い、「次へ」をクリックします。

    1. Webサービス参照: Webサービス参照を選択します。

    2. 操作: 実行方法を選択します。RESTfulスタイルWeb参照の場合、doRESTが自動的に選択されます。手動スタイルWeb参照については、「操作」オプションは表示されません。

  4. 「ページおよびリージョン属性」で、ページおよびリージョンの属性を確認し、「次へ」をクリックします。


    注意:

    指定したページが存在しない場合は、ウィザードによってページが作成されます。

  5. 「入力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  6. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定し、「次へ」をクリックします。


    注意:

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されます。

  7. 画面に表示されるステップに従います。

  8. 「終了」をクリックします。

17.7.11 Webサービスでのフォームの作成

Webサービスのフォームの作成ウィザードでは、フォームと送信ボタンが作成されます。WSDLから、またはRESTfulスタイルのWebサービスで、Webサービス参照を作成した後に、または「ページ定義」から、このウィザードを実行できます。

このウィザードは、Webサービスの結果がスカラーであることが予想される場合に使用します。株価を調べるWebサービスがよい例です。入力は銘柄記号で、出力はスカラーの適正価格であるためです。

17.7.11.1 参照を作成した後のフォームの作成

Webサービス参照を作成した後に、フォームを作成するには、次のステップを実行します。

  1. Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」「RESTful Webサービス参照の作成」および「Webサービス参照の手動作成」を参照してください。

  2. Webサービス参照が追加された後で、「Webサービスのフォームの作成」を選択します。

  3. 「サービスと操作の選択」で、次の選択を行い、「次へ」をクリックします。

    1. Webサービス参照: Webサービス参照を選択します。

    2. 操作: 実行方法を選択します。RESTfulスタイルWeb参照の場合、doRESTが自動的に選択されます。手動スタイルWeb参照については、「操作」オプションは表示されません。

    3. ユーザー・インタフェース: デスクトップ用のフォームとレポートを作成する場合は、「デスクトップ」を選択します。携帯電話用のフォームとレポートを作成する場合は、「jQuery Mobileスマートフォン」を選択します。「jQuery Mobileスマートフォン」オプションは、アプリケーション・プロパティのユーザー・インタフェース・オプションで「jQuery Mobileスマートフォン」が選択されている場合にのみ使用可能です。「アプリケーションのユーザー・インタフェースの管理」を参照してください。

  4. 「ページおよびリージョン属性」で、ページおよびリージョンの属性を確認し、「次へ」をクリックします。


    注意:

    指定したページが存在しない場合は、ウィザードによってページが作成されます。

  5. 「入力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  6. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定して「次へ」をクリックします。


    注意:

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されます。

  7. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。

  8. 「出力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  9. 「タブ・オプション」で、ページにタブを含めるかどうかとタブの作成方法を選択し、「次へ」をクリックします。

  10. 確認ページを確認して、「作成」をクリックします。

17.7.11.2 新しいページの追加によるフォームの作成

既存のWebサービス参照がある場合は、新しいページを追加することで、Webサービス参照を基にフォームを作成できます。

新しいページを追加して、フォームを作成するには、次のステップを実行します。

  1. Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」「RESTful Webサービス参照の作成」および「Webサービス参照の手動作成」を参照してください。

  2. 新しいページを作成します。「データベース・アプリケーションのページの管理」を参照してください。

    「ページの作成」ウィザードで、次のステップを実行します。

    1. 「ユーザー・インタフェース」で、「デスクトップ」を選択して、デスクトップのフォームおよびレポートを作成します。携帯電話用のフォームとレポートを作成する場合は、「jQuery Mobileスマートフォン」を選択します。「jQuery Mobileスマートフォン」オプションは、アプリケーション・プロパティのユーザー・インタフェース・オプションで「jQuery Mobileスマートフォン」が選択されている場合にのみ使用可能です。「アプリケーションのユーザー・インタフェースの管理」を参照してください。

    2. 「フォーム」を選択して、「次へ」をクリックします。

    3. 「Webサービスのフォーム」を選択し、「次へ」をクリックします。

  3. 「サービスと操作の選択」で、次の選択を行い、「次へ」をクリックします。

    1. Webサービス参照: Webサービス参照を選択します。

    2. 操作: 実行方法を選択します。RESTfulスタイルWeb参照の場合、doRESTが自動的に選択されます。手動スタイルWeb参照については、「操作」オプションは表示されません。

  4. 「ページおよびリージョン属性」で、ページおよびリージョンの属性を確認し、「次へ」をクリックします。


    注意:

    指定したページが存在しない場合は、ウィザードによってページが作成されます。

  5. 「入力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  6. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定して「次へ」をクリックします。


    注意:

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されます。

  7. 該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。

    このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。

  8. 「出力アイテム」で、次の選択を行い、「次へ」をクリックします。

    1. フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。

    2. 必要に応じて、アイテム名を編集します。

    3. 必要に応じて、アイテム・ラベルを編集します。

  9. 「タブ・オプション」で、ページにタブを含めるかどうかとタブの作成方法を選択し、「次へ」をクリックします。

  10. 確認ページを確認して、「作成」をクリックします。

17.7.12 プロセスとしてのWebサービスの起動

Webサービスをページ上でプロセスとして起動することもできます。Webサービス用のいずれかのフォームの作成ウィザードを実行すると、プロセスが作成されます。このプロセスを実行すると、リクエストがサービス・プロバイダに送信されます。その後で、レポートにリクエスト結果を表示できます。

Webサービスをプロセスとして起動するには、次のステップを実行します。

  1. Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」「Webサービス参照の手動作成」または「RESTful Webサービス参照の作成」を参照してください。

  2. ページを作成します。「データベース・アプリケーションのページの管理」を参照してください。

    「ページの作成」ウィザードで、次のステップを実行します。

    1. 「空白ページ」を選択します。

    2. タブの使用を確認するプロンプトが表示されたら、「いいえ」を選択します。

  3. 「ページの編集」をクリックします。「ページ属性の変更」を参照してください。

  4. 「ページ・レンダリング」または「ページ・プロセス」で、「プロセス」セクションを探し、右クリックして「プロセスの作成」をクリックします。

    ページ・プロセスの作成ウィザードが表示されます。

  5. 「プロセス・タイプ」で、「Webサービス」を選択して「次へ」をクリックします。

  6. 「プロセス属性」で、次のように指定し、「次へ」をクリックします。

    1. 名前: プロセス名を入力します。

    2. 順序: このコンポーネントの順序を入力します。これによって評価の順序が決まります。

    3. ポイント: プロセス・ポイントを選択します。

  7. 「プロセス」で、次のように指定します。

    1. Webサービス参照: このプロセスのWebサービス参照を選択します。

      Web参照がWSDLから作成されたか、またはRESTfulスタイルである場合、「操作」の選択が表示されます。

    2. 操作(WSDLまたはRESTfulスタイルWebサービス参照のみ): このプロセスが実行するWebサービス操作を選択します。

      「Webサービスの入力パラメータ」と「Webサービスの出力パラメータ」が表示されます。

    3. 「Webサービスの入力パラメータ」で、Webサービス・プロセスの入力を指定します。

      • ソース: ソース・タイプを選択します。

      • 値: ソース値を選択します。

    4. 「Webサービスの出力パラメータ」で、結果の格納先を指定します。

      コレクションに結果を格納するには、次のステップを実行します。

      • 結果の格納場所: 「コレクション」を選択します。

      • 値: コレクションの名前を入力します。

      ページ上のアイテムに結果を格納するには、次のステップを実行します。

      • 結果の格納場所: 「アイテム」を選択します。

      • 値: 適切なアイテム値を選択します。

    5. 「次へ」をクリックします。

  8. 「メッセージ」で、次を入力し、「次へ」をクリックします。

    1. 成功メッセージ: プロセスが正常に実行された場合に次のページに表示されるメッセージを入力します。

    2. 失敗メッセージ: 未処理例外が発生した場合に表示されるメッセージを入力します。エラー・プロセスが停止した後は、常にロールバックが実行され、エラー・メッセージが表示されます。

  9. 「プロセス条件」で、次の選択を行い、「次へ」をクリックします。

    1. 対象ボタン: プロセスを実行させるボタンを選択します。

    2. 条件タイプ: このコンポーネントを処理するために満たされる必要がある条件タイプを選択します。条件タイプに比較用の式が必要な場合、「式1」と、場合によっては「式2」フィールドが表示されます。必要に応じてこれらのフィールドに式を入力します。

  10. 「プロセスの作成」をクリックします。

17.7.12.1 レポートでのWebサービス結果の表示

Webサービスのリクエスト結果を表示するレポートを作成するには、次のステップを実行します。

  1. ページ定義にナビゲートします。「コンポーネント・ビューでのページの編集」を参照してください。

  2. コンポーネント・ビューで、「リージョン」に対して「作成」アイコンをクリックします。

    「リージョンの作成」ウィザードが表示されます。

  3. リージョン・タイプで、「レポート」を選択し、「次へ」をクリックします。

  4. 「リージョン」で、「Webサービスの結果」を選択し、「次へ」をクリックします。

  5. 「表示属性」で、リージョン・タイトルを入力し、オプションでリージョン属性を編集し、「次へ」をクリックします。

  6. Web参照がWSDLから手動で作成されたか、またはRESTfulスタイルであるかを選択し、「次へ」をクリックします。

  7. Webサービス参照がWSDLから作成された場合、次のステップを実行します。

    1. 「Webサービス参照」で、実行するWebサービス参照を選択します。

    2. 「操作」で、実行するメソッドを選択します。

    3. 「レポート対象の結果ツリー」で、作成されるXML文書(レポートに含める情報を含む)の一部を選択します。

    4. 「レポート・パラメータとレポート・オプション」で、次を行います。

      • 「一時結果セット名」に、Webサービスの結果を格納するコレクションの名前を入力します。

      • 該当するパラメータを選択した後、選択解除します。

  8. Webサービス参照が手動で作成された場合、次のステップを実行します。

    1. Webサービス参照を選択します。

    2. SOAPスタイルを選択します。

    3. メッセージの書式を選択します。

    4. レポートの対象となるノードへのXPath式を入力します。

    5. SOAPレスポンス・エンベロープのネームスペースを入力し、「次へ」をクリックします。

    6. レスポンス・メッセージが格納されているコレクション名を入力します。

    7. レポートに含めるパラメータ名を入力します。

  9. Webサービス参照がRESTスタイルの場合、次のステップを実行します。

    1. Webサービス参照を選択します。

    2. レスポンス・メッセージが格納されているコレクション名を入力します。

    3. レポート・テンプレートと、ページごとに表示される行数を選択します。

    4. レポートに含めるパラメータを選択します。

  10. 「SQLレポートの作成」をクリックします。

17.7.13 Webサービス・プロセスの編集

WSDLから作成されたWebサービス参照またはRESTfulスタイルのWeb参照でWebサービス・タイプのプロセスを作成した後、サービスへの入力パラメータおよび出力パラメータの属性を変更できます。

Webサービス・プロセスを編集するには、次のステップを実行します。

  1. Webサービス・プロセスを作成します。詳細は、「プロセスとしてのWebサービスの起動」を参照してください。

  2. Webサービス・プロセスが含まれているページ定義にナビゲートします。

  3. プロセス名を選択します。

    「ページ・プロセスの編集」ページが表示されます。

  4. 入力パラメータを静的な値にマップするには、次のステップを実行します。

    1. 「Webサービスの入力パラメータ」までスクロールします。

    2. 該当するパラメータ名の横にある「値」フィールドに値を入力します。

  5. 出力パラメータをコレクションにマップするには、次のステップを実行します。

    1. 「Webサービスの出力パラメータ」までスクロールします。

    2. レスポンスの格納場所で、「コレクション」を選択します。

    3. 「値」で、レスポンスを格納するコレクションの名前を入力します。レスポンスは、予想されるレスポンスに基づいてCLOB001またはXMLTYPE001に格納されます。

  6. 出力パラメータをアイテムにマップするには、次のステップを実行します。

    1. 「Webサービスの出力パラメータ」までスクロールします。

    2. レスポンスの格納場所で、「アイテム」を選択します。

    3. 該当するパラメータ名の横にある「値」フィールドにアイテム名を入力します。

  7. 「変更の適用」をクリックします。

17.7.14 Webサービス参照履歴の表示

「Webサービス履歴」では、カレント・アプリケーションのWebサービス参照の変更が、アプリケーションID、Webサービス参照名、開発者および日付ごとに表示されます。

Webサービス参照の変更履歴を表示するには、次のステップを実行します。

  1. 「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. 「共有コンポーネント」をクリックします。

    共有コンポーネント・ページが表示されます。

  4. 「ロジック」で、「Webサービス参照」をクリックします。

  5. 「履歴」をクリックします。


注意:

Webサービス参照ページに「履歴」ボタンが表示されるのは、1つ以上の参照が存在する場合のみです。

17.7.15 RESTful Webサービスとしてのレポート・リージョンの公開

RESTful Webサービスとしてレポート・リージョンを公開するには、次のステップを実行します。

  1. インスタンス管理者は、インスタンス設定のRESTプロバイダ機能を有効化する必要があります。Oracle Application ExpressインスタンスへのRESTfulアクセスを有効化するには、『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する説明を参照してください。

  2. 開発者はレポート・リージョンへのRESTfulアクセスを有効にする必要があります。「レポート・リージョンへのRESTfulアクセスの有効化」を参照してください。

  3. レポートを格納するページでは、認証を要求しない必要があります。


関連項目:

『Oracle Application Express SQLワークショップ・ガイド』のRESTfulサービスの使用に関する説明を参照してください。

内容は次のとおりです。

17.7.15.1 レポート・リージョンへのRESTfulアクセスの有効化

レポート・リージョンへのRESTfulアクセスを有効化するには、認証が不要になるようにページを公開し、レポートをRESTfulアクセスのために有効化する必要があります。Oracle Application ExpressインスタンスへのRESTfulアクセスを有効化するには、『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する説明を参照してください。

ページを公開するには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。

    アプリケーション・ビルダーのホームページが表示されます。

  2. アプリケーションを選択します。

  3. 有効にするレポートが格納されているページを選択します。

    ページ定義が表示されます。

  4. 「ページ」で、「編集」アイコンをクリックします。

  5. 「セキュリティ」で、「認証」リストから「パブリック・ページ」を選択します。

  6. 「変更の適用」をクリックします。

レポート・リージョンをRESTfulアクセスのために有効化するには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。

  2. アプリケーションを選択します。

    アプリケーション・ビルダーのホームページが表示されます。

  3. 有効にするレポートが格納されているページを選択します。

    ページ定義が表示されます。

  4. 「リージョン」で、有効化するレポートが格納されているリージョンの名前をクリックします。

  5. 「属性」で、「静的ID」フィールドの値を入力します。この値はレポートにRESTfulにアクセスするために使用されます。

  6. 「RESTfulアクセスの有効化」リストで、「はい」を選択します。


    注意:

    「RESTfulアクセスの有効化」リスト・オプションは、このOracle Application ExpressインスタンスへのRESTfulアクセスが有効な場合にのみ表示されます(『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する説明を参照してください)。

  7. 「変更の適用」をクリックします。

17.7.15.2 Webサービス・クライアントからのRESTful有効レポート・リージョンへのアクセス

レポートをRESTfulアクセス用に有効化すると、RESTful Webサービスに渡すエンドポイントURLおよびパラメータを知ることが必要となります。エンドポイントURLは、Oracle Application Expressのこのインスタンスへのアクセスに使用するURLと似ており、リソースのapex_rest.getReportが後に続きます。次に例を示します。

http://apex.oracle.com/apex/apex_rest.getReport


ヒント:

クライアントがPOSTメソッドを使用する場合、HTTPヘッダーContent-Typeapplication/x-www-form-urlencodedの値に設定する必要があります。

名前 デフォルト 必須 説明
app なし はい RESTful有効レポートが格納されているアプリケーションの数値IDまたは別名。
page なし はい RESTful有効レポートが格納されているページの数値IDまたは別名。
reportid なし はい RESTful有効レポートの静的ID属性。
parmvalues null いいえ レポート・パラメータの値をカンマ区切りリストで送信できます(例: CLERK,10)
lang en いいえ 渡された言語に基づき、レポートを実行する前にNLS環境変数を設定します(例: de)
output xml はい XMLまたはJSONのいずれがクライアントに戻されるかを決定します。有効な値のドメインはxml、jsonです。

また、apex_restサービスには、アプリケーションIDまたは別名を指定して、RESTful有効レポートを検出できるようにする操作もあります。レスポンスは、RESTful Webサービスによってアクセス可能なすべてのレポートを記述したXMLドキュメントです。このサービスは、次のようなURLを使用して起動します。

http://apex.oracle.com/apex/apex_rest.getServiceDescription?app=691

このURLで、691はアプリケーションの数値IDです。戻されるドキュメントは次のようになります。

<?xml version="1.0"?>
<urn:getServiceDescriptionResponse xmlns:urn="urn:oasis:names:tc:wsrp:v1:types">
        <urn:requiresRegistration>false</urn:requiresRegistration>
        <urn:offeredPortlets>
                    <urn:PortletDescription>
                              <urn:portletHandle>employees</urn:portletHandle>
                              <urn:markupTypes>
                                        <urn:mimeType>application/xml</urn:mimeType>
                                        <urn:mimeType>application/json</urn:mimeType>
                              </urn:markupTypes>
                              <urn:groupID>1</urn:groupID>
                              <urn:description/>
                              <urn:title>EMP</urn:title>
                              <urn:keywords>
                                <urn:value>P1_JOB</urn:value>
                                      <urn:value>P1_DEPTNO</urn:value>
                              </urn:keywords>
                    </urn:PortletDescription>
        </urn:offeredPortlets>
</urn:getServiceDescriptionResponse

portletHandleはレポート・リージョンの静的IDか、RESTリクエストのreportidパラメータにマップされます。groupIDは、RESTリクエストのページIDまたはページ・パラメータにマップされます。さらに、SQLレポートによって使用されるすべてのパラメータはkeywordsノードの子としてリストされます。