プライマリ・コンテンツに移動

Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース5.1 E83810-03 |
| 目次 | 索引

前 | 次 |

# 17.3 Webサービスの実装

この項では、Oracle Application ExpressアプリケーションでWebサービスを使用する方法について説明します。

注意:

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

Simple Object Access Protocol(SOAP)については、次の場所を参照してください。

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

トピック:

- Webサービスについて
- Oracle Application ExpressのWebサービス参照の作成
- SSL有効Webサービスでの作業について
- WSDLに基づいたWebサービス参照の作成
- Webサービス参照の手動作成
- RESTful Webサービス参照の作成
- Webサービス参照リポジトリの使用
- Webサービスでの入力フォームとレポートの作成
- Webサービスでのフォームの作成
- Webサービスをプロセスとして起動する方法
- Webサービス・プロセスの編集
- Webサービス参照履歴の表示
- RESTful Webサービスとしてのレポート・リージョンの公開

## 17.3.1 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つのメリットがあります。

- SOAPはXMLをベースとしており、使用方法も容易です。

- このプロトコルではHTTPなどの単純な転送プロトコルが使用されているため、SOAPメッセージはファイアウォールでブロックされることはありません。

ヒント:

Oracle Application ExpressをOracle Database 11g リリース1 (11.1)以上とともに実行する場合は、Webサービスを使用するためにネットワーク・サービスを有効にする必要があります。

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

- このプロトコルではHTTPプロトコルが使用されるため、RESTメッセージもファイアウォールでブロックされません。

- RESTリクエストではXMLエンベロープやSOAPエンベロープのオーバーヘッドが不要であり、入力は、通常、URI内に指定されます。

関連項目:

「Oracle Database 11g以上のネットワーク・サービスの有効化」

## 17.3.2 Oracle Application ExpressのWebサービス参照の作成

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

トピック:

- Webサービス参照ページへのアクセス
- アプリケーション・プロキシ・サーバー・アドレスの指定

関連項目:

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

- 「Webサービス参照の手動作成」

- 「RESTful Webサービス参照の作成」

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

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

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

1. 共有コンポーネント・ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
   2. アプリケーションを選択します。
   3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

2. 「データ参照」で、「Webサービス参照」をクリックします。

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

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

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

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

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

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

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

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

3. 「アプリケーション・プロパティの編集」をクリックします。
4. 「プロパティ」の下の「プロキシ・サーバー」フィールドにプロキシ・サーバーを入力します。
5. 「変更の適用」をクリックします。

## 17.3.3 SSL有効Webサービスでの作業について

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

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

関連項目:

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

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

この項では、WSDLに基づいたWebサービス参照を作成する方法について説明します。

トピック:

- WSDLに基づいたWebサービス参照の作成について
- WSDLドキュメントの指定によるWebサービス参照の作成
- WSDLから作成されたWebサービス参照のテスト

### 17.3.4.1 WSDLに基づいたWebサービス参照の作成について

WSDLに基づいてWebサービス参照を作成する前に、WSDLの位置の特定方法を決定する必要があります。WSDLドキュメントにURLを入力して、WSDLの位置を特定します。

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

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

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

- Webサービスの操作

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

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

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

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

1. Webサービス参照ページにナビゲートします。
2. 「作成」をクリックします。
3. 「Web参照タイプ」で、「WSDLに基づく」を選択し、「次へ」をクリックします。
4. WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「いいえ」の次に「次へ」をクリックします。
5. 「WSDLの位置」に、WSDLドキュメントへのURLを入力します。
6. 「ユーザー名」で、WSDLへのアクセスに必要なユーザー名を入力します。
7. 「パスワード」で、WSDLへのアクセスに必要なパスワードを入力します。
8. 「次へ」をクリックします。

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

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

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

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

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

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

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

    - Webサービス参照の表示: Webサービス参照ページに移動する場合に選択します。

    - Webサービスのフォームの作成: このWebサービス参照のフォームを作成する場合に選択します。

    - Webサービスのフォームとレポートの作成: このWebサービス参照のフォームとレポートを作成する場合に選択します。

関連項目:

- 「Webサービス参照ページへのアクセス」

- 「参照を作成した後のフォームの作成」

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

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

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

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

1. Webサービス参照ページにナビゲートします。
2. 「レポートの表示」アイコンを選択します。
3. テストするWebサービス参照の「テスト」アイコンをクリックします。

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

4. 「操作」から、実行する操作を選択します。
5. 「入力パラメータ」で、適切な値を入力します。
6. 「テスト」をクリックします。

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

関連項目:

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

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

この項では、Webサービス参照を手動で作成する方法について説明します。

トピック:

- Webサービス参照の手動作成について
- Webサービス参照の手動作成
- 手動作成されたWebサービス参照のテスト

### 17.3.5.1 Webサービス参照の手動作成について

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

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

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

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

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

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

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

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

1. 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サービス参照ページへのアクセス」

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

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

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

1. Webサービス参照ページにナビゲートします。
2. 「レポートの表示」アイコンを選択します。
3. テストするWebサービス参照の「テスト」アイコンをクリックします。

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

4. 必要に応じて、「Basic認証」でユーザー名およびパスワードを入力します。
5. 「SOAPエンベロープ」テキスト領域では、オプションで、SOAPリクエスト・エンベロープを編集します。
6. 「テスト」をクリックします。

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

関連項目:

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

## 17.3.6 RESTful Webサービス参照の作成

この項では、RESTful Webサービス参照を作成する方法について説明します。

トピック:

- RESTful Webサービス参照の作成について
- RESTful Webサービス参照の作成
- REST Webサービス参照のテスト

### 17.3.6.1 RESTful Webサービス参照の作成について

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

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

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

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

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

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

### 17.3.6.2 RESTful Webサービス参照の作成

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

1. Webサービス参照ページにナビゲートします。
2. 「作成」をクリックします。
3. 「REST」を選択して「次へ」をクリックします。
4. 「RESTの詳細」で、次のように指定します。
   1. 名前: 参照を識別する名前を入力します。
   2. URL: WebサービスのURLエンドポイントを入力します。
   3. プロキシ: このサービスのアプリケーション・プロキシを上書きするプロキシを入力します(オプション)。この設定は、このインスタンスのプロキシ設定によってオーバーライドされます。
   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サービス参照リポジトリに追加されます。

関連項目:

- 「Webサービス参照ページへのアクセス」

- 『Oracle Application Express管理ガイド』のインスタンス用のプロキシ・サーバーの作成に関する項

### 17.3.6.3 REST Webサービス参照のテスト

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

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

1. Webサービス参照ページにナビゲートします。
2. 「レポートの表示」アイコンを選択します。
3. テストするWebサービス参照の「テスト」アイコンをクリックします。

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

4. 「URL」および「プロキシ・オーバーライド」フィールドで、オプションでテストの値を編集します。
5. 必要に応じて、「Basic認証」でユーザー名およびパスワードを入力します。
6. 「HTTPヘッダー」で、適切な値を入力します。
7. 「入力パラメータ」で、適切な値を入力します。
8. 「テスト」をクリックします。

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

関連項目:

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

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

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

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

1. Webサービス参照ページにナビゲートします。

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

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

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

   - テキスト領域: 大/小文字を区別しない検索基準(ワイルドカード文字を含む)を入力し、「実行」をクリックします。

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

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

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

   - アクション・メニュー: アクション・メニューを表示します。レポート・ビューをカスタマイズするにはこのメニューを使用します。

2. 「レポートの表示」アイコンをクリックします。
3. レポート・ビューでは、次の操作が可能です。

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

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

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

関連項目:

- 「Webサービス参照ページへのアクセス」

- 「アクション」メニューについて

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

この項では、Webサービスの入力フォームとレポートを作成する方法について説明します。

トピック:

- Webサービスのフォームとレポートの作成ウィザードについて
- 参照を作成した後のフォームとレポートの作成
- 新しいページの追加によるフォームとレポートの作成

### 17.3.8.1 Webサービスのフォームとレポートの作成ウィザードについて

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

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

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

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

1. 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. 確認ページを確認して、「作成」をクリックします。

関連項目:

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

- 「RESTful Webサービス参照の作成」

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

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

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

1. 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. 「終了」をクリックします。

関連項目:

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

- 「Webサービス参照の手動作成」

- 「RESTful Webサービス参照の作成」

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

この項では、Webサービスのフォームを作成する方法について説明します。

トピック:

- Webサービスのフォームの作成ウィザードについて
- 参照を作成した後のフォームの作成
- 新しいページの追加によるフォームの作成

### 17.3.9.1 Webサービスのフォームの作成ウィザードについて

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

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

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

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

1. 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. 確認ページを確認して、「作成」をクリックします。

関連項目:

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

- 「Webサービス参照の手動作成」

- 「RESTful Webサービス参照の作成」

- アプリケーションのユーザー・インタフェースの管理

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

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

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

1. 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. 確認ページを確認して、「作成」をクリックします。

関連項目:

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

- 「Webサービス参照の手動作成」

- 「Webサービス参照の手動作成」

- データベース・アプリケーションのページの管理

- アプリケーションのユーザー・インタフェースの管理

## 17.3.10 Webサービスをプロセスとして起動する方法

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

トピック:

- プロセスとしてのWebサービスの起動
- レポートでのWebサービス結果の表示

### 17.3.10.1 プロセスとしての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.3.10.2 レポートでの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.3.11 Webサービス・プロセスの編集

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

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

1. Webサービス・プロセスを作成します。
2. Webサービス・プロセスが含まれているページにナビゲートします。
3. プロセス名を選択します。

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

4. 入力パラメータを静的な値にマップするには、次のステップを実行します。
   1. 「Webサービスの入力パラメータ」までスクロールします。
   2. 該当するパラメータ名の横にある「値」フィールドに値を入力します。
5. 出力パラメータをコレクションにマップするには、次のステップを実行します。
   1. 「Webサービスの出力パラメータ」までスクロールします。
   2. レスポンスの格納場所で、「コレクション」を選択します。
   3. 「値」で、レスポンスを格納するコレクションの名前を入力します。レスポンスは、予想されるレスポンスに基づいて`CLOB001`または`XMLTYPE001`に格納されます。
6. 出力パラメータをアイテムにマップするには、次のステップを実行します。
   1. 「Webサービスの出力パラメータ」までスクロールします。
   2. レスポンスの格納場所で、「アイテム」を選択します。
   3. 該当するパラメータ名の横にある「値」フィールドにアイテム名を入力します。
7. 「変更の適用」をクリックします。

関連項目:

「Webサービスをプロセスとして起動する方法」

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

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

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

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. アプリケーションを選択します。
3. 「共有コンポーネント」をクリックします。

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

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

注意:

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

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

この項では、レポート・リージョンをRESTful Webサービスとして公開する方法について説明します。

トピック:

- RESTful Webサービスとしてのレポート・リージョンの公開について
- レポート・リージョンへのRESTfulアクセスの有効化
- Webサービス・クライアントからのRESTful有効レポート・リージョンへのアクセスについて

関連項目:

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

### 17.3.13.1 RESTful Webサービスとしてのレポート・リージョンの公開について

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

- ステップ1: インスタンス管理者は、インスタンス設定のRESTプロバイダ機能を有効化する必要があります。

- ステップ2: 開発者はレポート・リージョンへのRESTfulアクセスを有効化する必要があります。

- ステップ3: レポートが格納されているページでは、認証が要求されないようにする必要があります。

関連項目:

- 『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する項

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

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

レポート・リージョンへのRESTfulアクセスを有効化するには、認証が不要になるようにページを公開し、レポートをRESTfulアクセスのために有効化する必要があります。

ヒント:

Oracle Application ExpressインスタンスへのRESTfulアクセスを有効化するには、『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する説明を参照してください。

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

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

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

2. アプリケーションを選択します。
3. 有効化するレポートを含むページをコンポーネント・ビューで表示します。
4. ページを公開するには、次のステップを実行します。
   1. 「ページ」で、「すべて編集」アイコンをクリックします。
   2. 「セキュリティ」で、「認証」リストから「パブリック・ページ」を選択します。
   3. 「変更の適用」をクリックします。
5. レポート・リージョンをRESTfulアクセス用に有効化するには、次のステップを実行します。
   1. 「リージョン」で、有効化するレポートが格納されているリージョンの名前をクリックします。
   2. 「属性」で、「静的ID」フィールドの値を入力します。この値はレポートにRESTfulにアクセスするために使用されます。
   3. 「RESTfulアクセスの有効化」リストで、「はい」を選択します。

      注意:

      「RESTfulアクセスの有効化」リスト・オプションは、このOracle Application ExpressインスタンスへのRESTfulアクセスが有効な場合にのみ表示されます。

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

関連項目:

- 「レガシー・コンポーネント・ビューでのページの表示」

- 『Oracle Application Express管理ガイド』のRESTfulアクセスの有効化に関する項

### 17.3.13.3 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-Type`を`application/x-www-form-urlencoded`の値に設定する必要があります。

名前 | デフォルト | 必須 | 説明
--- | --- | --- | ---
`app` | `N/A` | はい | RESTful有効レポートが格納されているアプリケーションの数値IDまたは別名。
`page` | `N/A` | はい | RESTful有効レポートが格納されているページの数値IDまたは別名。
`reportid` | `N/A` | はい | 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`ノードの子としてリストされます。