Webサービスを使用すると、アプリケーション同士がWeb上でプラットフォームおよび言語に依存しない環境で相互に通信できます。通常のWebサービス・シナリオでは、ビジネス・アプリケーションが、HTTPプロトコルを使用して、特定のURLにあるサービスに対してリクエストを送信します。サービスは、リクエストを受信すると、これを処理し、レスポンスを返します。外部Webサービスへのコールをアプリケーション・ビルダーで開発されたアプリケーションに組み込むことができます。
Webサービスは、Simple Object Access Protocol (SOAP)に基づいています。SOAPは、World Wide Web Consortium (W3C)が策定した、インターネットを介したリクエストとレスポンスの送受信用の標準プロトコルです。SOAPメッセージは、サービス・プロバイダとサービス・ユーザー間でSOAPエンベロープに入れて送受信できます。
SOAPには、主に2つのメリットがあります。
SOAPはXMLをベースとしており、使用方法も容易です。
このプロトコルではHTTPなどの単純な転送プロトコルが使用されているため、SOAPメッセージはファイアウォールでブロックされることはありません。
ヒント: Oracle Application ExpressをOracle Database 11g リリース1(11.1)以上と同時に実行している場合は、Webサービスを使用するためにネットワーク・サービスを有効にする必要があります。「Oracle Database 11gのネットワーク・サービスの有効化」を参照してください。 |
この項に含まれる内容は次のとおりです。
注意: SOAP 1.1仕様はW3C技術ノートです。(SOAPより優先される標準を作成するために、W3C XML Protocol Working Groupが結成されています。)Simple Object Access Protocol(SOAP)1.1については、次のWebサイトを参照してください。
|
Oracle Application ExpressでWebサービスを使用するには、ウィザードを使用してWebサービス参照を作成します。Webサービス参照は、Web Services Description Language (WSDL)ドキュメントに基づくか、サービスに関する情報を参照して手動で作成することができます。
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サービスからのレスポンスを格納するコレクション名
Webサービス参照は、Webサービス参照ページで管理します。
Webサービス参照ページにアクセスするには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されます。
「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「ロジック」で、「Webサービス参照」をクリックします。
Webサービス参照ページが表示されます。
インターネットのアクセスにプロキシ・サーバーが必要な環境の場合は、Webサービス参照を作成する前にアプリケーション属性ページでプロキシ・サーバー・アドレスを指定する必要があります。
アプリケーションにプロキシ・アドレスを指定するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページが表示されます。
「共有コンポーネント」をクリックします。
「アプリケーション」で、「定義」をクリックします。
「名前」で、「プロキシ・サーバー」フィールドにプロキシ・サーバーを入力します。
「変更の適用」をクリックします。
Secure Sockets Layer(SSL)は、RSA公開鍵による暗号化と対称鍵による暗号化を使用して、認証、暗号化およびデータの整合性を実現する業界標準プロトコルです。
通信する必要のあるWebサービスがSSL対応の場合(Webサービスに対するURLにhttps
と表示される)、ウォレットを作成する必要があります。ウォレットは、SSLに必要な認証および署名された資格証明(秘密鍵、証明書および信頼できる証明書)の格納に使用されるパスワード保護されたコンテナです。
関連項目: Oracle Application Express管理ガイドの「ウォレット情報の構成」 |
WSDLに基づいたWebサービス参照を作成する場合、WSDLの位置の特定方法を決定する必要があります。WSDLの位置の特定には、次の2つの方法があります。
UDDIレジストリは企業がWebサービスを登録するディレクトリです。
この項に含まれる内容は次のとおりです。
UDDIレジストリを検索して、Webサービスを作成するには、次のステップを実行します。
Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。
「作成」をクリックします。
WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「はい」をクリックします。
「UDDIの位置」では、次のいずれかを実行できます。
UDDIレジストリへのURLエンドポイントを入力する。
「リスト」 アイコンをクリックして、UDDIレジストリを選択する。
「検索」で、次のように指定します。
検索タイプ: ビジネス名またはサービス名のどちらを検索するかを指定します。両方を検索することはできません。
名前: 検索に使用するビジネス名またはサービス名を入力します。ワイルドカードにはパーセント(%)を使用します。
オプションで、完全一致検索または大文字/小文字を区別する検索を指定できます。
「検索」をクリックします。
検索結果が表示されたら、選択した後で「次へ」をクリックします。
選択したWebサービスについて説明するサマリー・ページが表示されます。
選択内容を確認し、「次へ」をクリックして続行します。
WSDLドキュメントへのURLが「WSDLの位置」フィールドに表示されます。
「終了」をクリックします。
Webサービス参照がWebサービス参照リポジトリに追加されます。
特定のWSDLドキュメントへのURLを指定して、Webサービスを作成するには、次のステップを実行します。
Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。
「作成」をクリックします。
WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「いいえ」をクリックします。
「WSDLの位置」に、WSDLドキュメントへのURLを入力します。
「終了」をクリックします。
Webサービス参照がWebサービス参照リポジトリに追加されます。
Webサービス参照を手動作成するには、次のステップを実行します。
Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。
「作成」をクリックします。
WSDLを検出するためにUDDIレジストリを検索することを確認するプロンプトが表示されたら、「いいえ」をクリックします。
「タスク」リストで、「Webサービス参照の手動作成」をクリックします。
Webサービスの作成/編集ページが表示されます。
「名前」で、参照を識別する名前を入力します。
「サービスの説明」で、次のステップを実行します。
URL: WebサービスのURLエンドポイントを入力します。
アクション - Webサービスのアクションを入力します(オプション)。
プロキシ - このサービスのアプリケーション・プロキシを上書きする場合、プロキシを入力します。
Basic認証: Webサービスが認証を必要とするかどうかを選択します。「はい」または「いいえ」を選択します。
「SOAPエンベロープ」で、このリクエストのSOAPエンベロープを入力します。
「コレクションにレスポンスを格納」で、レスポンスを格納するコレクション名を入力します(オプション)。
「作成」をクリックします。
Webサービス参照がWebサービス参照リポジトリに追加されます。
Webサービス参照がWebサービス参照リポジトリに格納されます。
Webサービス参照リポジトリにアクセスするには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されます。
「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「ロジック」で、「Webサービス参照」をクリックします。
Webサービス参照ページが表示されます。
ページ上部の「ナビゲーション」バーを使用して、Webサービス参照の検索またはページ表示の変更を行います。使用可能なオプションは次のとおりです。
Webサービス参照 - 参照名に大/小文字を区別しない問合せを入力して、「実行」をクリックします。すべてのWebサービス参照を表示するには、フィールドを空白のままにして「実行」をクリックします。
ビュー - 表示モードを選択して「実行」をクリックします。使用可能なオプションは次のとおりです。
アイコン(デフォルト): 各Webサービス参照を大きいアイコンとして表示します。Webサービス参照を編集するには、該当するアイコンをクリックします。
詳細 : 各Webサービス参照をレポートで1行に表示します。
「ビュー」リストから「詳細」を選択し、「実行」をクリックします。
「詳細」ビューでは、次の操作を実行できます。
参照名をクリックして参照を編集します。
「実行」アイコンをクリックして参照をテストします。
「ビュー」アイコンをクリックして参照に関する詳細を表示します。このオプションは、手動作成されたWebサービス参照には使用できないことに注意してください。
Webサービス参照を作成した後、Webサービス参照のテスト・ページでテストできます。
Webサービス参照をテストするには、次のステップを実行します。
Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。
「ビュー」から、「詳細」を選択します。
Webサービス参照名の横にある「 実行 」アイコンをクリックします。
Webサービス参照のテスト・ページが表示されます。ページの上部に、Webサービス名とURLエンドポイントが表示されます。
「操作」から、実行する操作を選択します。
「入力パラメータ」で、適切な値を入力します。
「テスト」をクリックします。
ページの下部に、メッセージ・リクエストとレスポンスが表示されます。
Webサービス参照を作成した後、Webサービス参照のテスト・ページでテストできます。
Webサービス参照をテストするには、次のステップを実行します。
Webサービス参照ページにナビゲートします。「Webサービス参照ページへのアクセス」を参照してください。
「ビュー」から、「詳細」を選択します。
Webサービス参照名の横にある「 実行 」アイコンをクリックします。
Webサービス参照のテスト・ページが表示されます。ページの上部に、Webサービス名とURLエンドポイントが表示されます。
必要に応じて、「Basic認証」でユーザー名およびパスワードを入力します。
「SOAPエンベロープ」テキスト領域では、オプションで、SOAPリクエスト・エンベロープを編集します。
「テスト」をクリックします。
ページの下部に、メッセージ・リクエストとレスポンスが表示されます。
Webサービスのフォームとレポートの作成ウィザードでは、入力フォーム、送信ボタンおよび結果を表示するレポートが作成されます。WSDLからWebサービス参照を作成した直後、またはページを追加して、このウィザードを実行できます。
このウィザードは、Webサービスの結果が非スカラーであることが予想される場合に使用します。Amazon社のWebサービスがよい例です。このWebサービスでは、入力フォームに入力された検索基準に基づいて多くの結果が戻されます。
Webサービス参照を作成した後に、フォームとレポートを作成するには、次のステップを実行します。
Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」を参照してください。
Webサービス参照が追加された後で、「Webサービスのフォームとレポートの作成」を選択します。
「サービスと操作の選択」で、次の操作を実行します。
Webサービス参照: Webサービス参照を選択します。
操作: 実行方法を選択します。
「ページおよびリージョン属性」で、表示された属性を確認します。指定したページが存在しない場合は、ウィザードによってページが作成されます。
「入力アイテム」で、次のステップを実行します。
フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
必要に応じて、アイテム・ラベルを編集します。
該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。
ウィンドウ・サービスの結果で、次の操作を実行します。
一時結果セット名: Webサービスの結果を格納するコレクションの名前を入力します。
レポート対象の結果ツリー - 作成されるXML文書(レポートに含める情報を含む)の一部を選択します。
「表示する結果パラメータ」で、レポートに含めるパラメータを選択します。
「終了」をクリックします。
既存のWebサービス参照がある場合は、新しいページを追加して、入力フォームとレポートを作成できます。
新しいページを追加して、フォームとレポートを作成するには、次のステップを実行します。
Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」を参照してください。
新しいページを作成します。「アプリケーション内のページの管理」を参照してください。
「ページの作成」ウィザードで、次のステップを実行します。
「フォーム」を選択します。
「Webサービスのフォームとレポート」を選択します。
「サービスと操作の選択」で、次の操作を実行します。
Webサービス参照: Webサービス参照を選択します。
操作: 実行方法を選択します。
「ページおよびリージョン属性」で、ページとリージョン属性を確認します。指定したページが存在しない場合は、ウィザードによってページが作成されます。
「入力アイテム」で、次のステップを実行します。
フォームに追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
必要に応じて、アイテム・ラベルを編集します。
該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。
画面に表示されるステップに従います。
「終了」をクリックします。
Webサービスのフォームの作成ウィザードでは、フォームと送信ボタンが作成されます。WSDLのWebサービス参照を作成した後に、またはページ定義から、このウィザードを実行できます。
このウィザードは、Webサービスの結果がスカラーであることが予想される場合に使用します。株価を調べるWebサービスがよい例です。入力は銘柄記号で、出力はスカラーの適正価格であるためです。
Webサービス参照を作成した後に、フォームを作成するには、次のステップを実行します。
Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」を参照してください。
Webサービス参照が追加された後で、「Webサービスのフォームの作成」を選択します。
「サービスと操作の選択」で、次の操作を実行します。
Webサービス参照: Webサービス参照を選択します。
操作: 実行方法を選択します。
「ページおよびリージョン属性の指定」で、ページとリージョン属性を確認します。指定したページが存在しない場合は、ウィザードによってページが作成されます。
「入力パラメータのアイテム」で、次の操作を実行します。
追加するアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
必要に応じて、アイテム・ラベルを編集します。
「出力パラメータのアイテム」で、次の操作を実行します。
追加する必要があるアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
必要に応じて、アイテム・ラベルを編集します。
該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。
このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。
「終了」をクリックします。
WSDLから作成された既存のWebサービス参照がある場合は、新しいページを追加して、フォームを作成できます。
新しいページを追加して、フォームを作成するには、次のステップを実行します。
Webサービス参照を作成します。「WSDLに基づいたWebサービス参照の作成」を参照してください。
新しいページを作成します。「アプリケーション内のページの管理」を参照してください。
「ページの作成」ウィザードで、次のステップを実行します。
「フォーム」を選択します。
「Webサービスのフォーム」を選択します。
「Webサービス参照と操作」で、Webサービス参照および実行する操作を選択します。
「ページおよびリージョン属性の指定」で、ページとリージョン属性を確認します。指定したページが存在しない場合は、ウィザードによってページが作成されます。
「入力パラメータのアイテム」で、次の操作を実行します。
追加する必要があるアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
該当する場合、Basic認証に「アイテム名」および「アイテム・ラベル」を指定します。
このステップは、Webサービス参照を作成したときに、Basic認証がこのWebサービス参照に対して指定された場合にのみ表示されることに注意してください。
「出力パラメータのアイテム」で、次の操作を実行します。
追加する必要があるアイテムを指定します。アイテムを含めるには、「作成」列で「はい」を選択します。そうでない場合は、「いいえ」を選択します。
必要に応じて、アイテム・ラベルを編集します。
「終了」をクリックします。
ページ上で、Webサービスをプロセスとして実装することもできます。このプロセスを実行すると、リクエストがサービス・プロバイダに送信されます。その後で、レポートにリクエスト結果を表示できます。
Webサービスをプロセスとして起動するには、次のステップを実行します。
ページを作成します。「アプリケーション内のページの管理」を参照してください。
「ページの作成」ウィザードで、次のステップを実行します。
「空白ページ」を選択します。
タブの使用を確認するプロンプトが表示されたら、「いいえ」を選択します。
ページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
「ページ・レンダリング」の「プロセス」で、「作成」アイコンをクリックします。
プロセスのカテゴリから、「Webサービス」を選択します。
プロセス名、順序およびプロセス・ポイントを指定します。
Webサービス参照を選択します。
Web参照がWSDLから作成された場合、次の追加のステップを実行します。
Webサービス参照および実行する操作を選択します。
プロセスを定義します。「Webサービスの出力パラメータ」でオプションを選択すると、結果をコレクションまたはページ上のアイテムに格納できます。
コレクションに結果を格納するには、次のステップを実行します。
「結果の格納場所」で、「コレクション」を選択します。
「値」フィールドにコレクションの名前を入力します。
ページ上のアイテムに結果を格納するには、次のステップを実行します。
「結果の格納場所」で、「アイテム」を選択します。
表示されるフィールドに該当するアイテムの値を入力します。
「プロセスの作成」をクリックします。
Webサービスのリクエスト結果を表示するレポートを作成するには、次のステップを実行します。
ページ定義にナビゲートします。「ページ定義へのアクセス」を参照してください。
「リージョン」で、「作成」アイコンをクリックします。
「リージョンの作成」ウィザードが表示されます。
「リージョン・タイプ」で、「レポート」を選択します。
「レポート実装」で、「Webサービスの結果を含むコレクションのレポート」を選択します。「リージョン属性を指定」で、リージョン・タイトルを入力し、オプションでリージョン属性を編集します。
Web参照が手動で作成されたか、またはWSDLから作成されたかを選択します。
Webサービス参照がWSDLから作成された場合、次のステップを実行します。
「Webサービス参照と操作」で、Webサービス参照および実行する操作を選択します。
「レポート対象の結果ツリー」で、作成されるXML文書(レポートに含める情報を含む)の一部を選択します。
「結果パラメータ」で、次のステップを実行します。
「一時結果セット名」に、Webサービスの結果を格納するコレクションの名前を入力します。
該当するパラメータを選択した後、選択解除します。
Webサービス参照が手動で作成された場合、次のステップを実行します。
Webサービス参照を選択します。
SOAPスタイルを選択します。
メッセージの書式を選択します。
レポートの対象となるノードへのXPath式を入力します。
SOAPレスポンス・エンベロープのネームスペースを入力して、「次へ」をクリックします。
レスポンス・メッセージが格納されているコレクション名を入力します。
レポートに含めるパラメータ名を入力します。
「SQLレポートの作成」をクリックします。
WSDLから作成されたWebサービス参照のWebサービス・タイプのプロセスを作成した後で、Webサービス・プロセスを編集すると、入力パラメータを静的な値にマップできます(たとえば、キーを渡すなど)。
Webサービス・プロセスを編集するには、次のステップを実行します。
Webサービス・プロセスを作成します。詳細は、「プロセスとしてのWebサービスの起動」を参照してください。
Webサービス・プロセスが含まれているページ定義にナビゲートします。
プロセス名を選択します。
「ページ・プロセスの編集」ページが表示されます。
入力パラメータを静的な値にマップするには、次のステップを実行します。
「Webサービスの入力パラメータ」までスクロールします。
該当するパラメータ名の横にある「値」フィールドに値を入力します。
「変更の適用」をクリックします。
「Webサービス履歴」では、カレント・アプリケーションのWebサービス参照の変更が、アプリケーションID、Webサービス参照名、開発者および日付ごとに表示されます。
Webサービス参照の変更履歴を表示するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーション・ビルダーが表示されます。
「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「ロジック」で、「Webサービス参照」をクリックします。
「履歴」をクリックします。
注意: 「Webサービス参照」ページに「履歴」ボタンが表示されるのは、Webサービス参照を作成した後のみです。 |