Web サービスへのデータ接続を追加する

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Web サービスに対してクエリまたはデータ送信のいずれかを実行できる 1 つ以上のセカンダリ データ接続をフォーム テンプレートに追加できます。

このトピックの内容

概要

互換性に関する考慮事項

始める前に

クエリ データ接続を追加する

送信データ接続を追加する

概要

セカンダリ データ接続は、フォーム テンプレートに追加する外部データ ソースへのデータ接続です。このデータ接続は、データベース、Web サービス、または接続ライブラリ設定に基づいてフォーム テンプレートをデザインするときに作成するメイン データ接続とは異なります。セカンダリ データ接続は、メイン データ接続からデータのクエリまたはデータ送信を実行できない場合にのみ追加します。

Web サービスのXML スキーマに対応するクエリのデータを Microsoft Office InfoPath では、データ フィールドおよびグループの第 2 データ ソースを作成するフォーム テンプレートにセカンダリ データ接続を追加するとします。セカンダリ データ ソース内のデータ構造、XML スキーマが一致しているために、既存のフィールドまたはセカンダリ データ ソース内のグループを変更することはできません。フォーム テンプレートに送信データ接続を追加して、フォーム データを送信するためのフォーム テンプレートを構成するフォーム テンプレートに基づくフォームの送信オプションを設定します。

ページの先頭へ

互換性に関する考慮事項

ブラウザー互換フォーム テンプレートで送信データ接続を構成し、ユーザーが Microsoft ADO.NET の DataSet を受け取る Web サービスにフォーム データと共に変更情報を送信できるようにすることはできません。変更情報は、データベースに格納されているデータに対してユーザーが加えた変更内容で構成されます。データベースでは、ユーザーは Web サービスを使用してデータベースに接続されます。ADO.NET では、変更情報を使用して、データベース内のデータを更新する方法を判断できます。Web サービスでデータベースを更新するために変更情報が必要かどうかを Web サービスの管理者に確認してください。必要な場合は、InfoPath を使用しないとフォームに入力できないようにフォーム テンプレートをデザインします。

ページの先頭へ

始める前に

セカンダリ データ接続をフォーム テンプレートに追加するには、Web サービスの管理者から次の情報を入手する必要があります。

  • Web サービスの場所。

  • Web サービスが Document Literal エンコードを使用することの確認。InfoPath では、Document Literal スタイルの Web サービスのみを利用できます。

  • このフォーム テンプレートに基づくフォームに対してデータの送受信を行う Web サービス処理の名前。

ページの先頭へ

クエリ データ接続を追加する

フォーム テンプレートを使用して Web サービスにデータのクエリを実行できるようにするには、フォーム テンプレートで次の操作を行う必要があります。

  1. セカンダリ データ接続を追加します。

  2. セカンダリ データ接続を使用するようにフォーム テンプレートを構成します。

手順 1: セカンダリ データ接続を追加する

  1. [ツール] メニューの [データ接続] をクリックします。

  2. [データ接続] ダイアログ ボックスで、[追加] をクリックします。

  3. データ接続ウィザードで、[新しいデータ接続先]、[データの受信]、[次へ] の順にクリックします。

  4. [どこからデータを受信しますか?] で [Web サービス] をクリックし、[次へ] をクリックします。

  5. ウィザードの次のページで、Web サービスの場所を入力し、[次へ] をクリックします。

    注: どこからでも説明の検出との統合 (拡張) サーバーを使用して Web サービスを検索する場合は、 UDDI の検索] をクリックして、検索、検索キーワードを入力または用意されているサービス プロバイダーで検索するかどうかを指定して、[検索] をクリックする UDDI サーバーの URL を入力します。検索キーワードが一致する web サービスは、検索結果のリストに表示されます。使うには、Web サービスを選択し、[ OK] をクリックします。

  6. ウィザードの次のページの [処理を選択してください] ボックスの一覧で、フォームにデータを返す Web サービス処理をクリックし、[次へ] をクリックします。

  7. データ接続ウィザードで Web サービスのスキーマ内に不明な要素が検出された場合は、ウィザードの次のページで、メイン データ ソースに追加するフィールドまたはグループを確認するために、各パラメータにサンプル値を指定するように求められることがあります。

    方法

    1. [パラメーター] テーブルのパラメーターを選び、[サンプル値の設定] をクリックします。

    2. [サンプル値] ボックスに、このフィールドにユーザーが使うような値を入力し、[OK] をクリックします。

    3. [パラメーター] テーブルのパラメーターごとにこれらの手順を繰り返し、[次へ] をクリックします。

    詳細な技術情報

    データ接続ウィザードで Web サービスに対するデータ接続を構成すると、Microsoft Office InfoPath は Web サービスに接続し、Web サービス記述言語 (WSDL) ファイルを要求します。WSDL ファイルには、Web サービスに使用されるスキーマが含まれています。Web サービスは、このファイルを InfoPath に送信することで要求に応答します。InfoPath は、このファイルの情報を使い、適切なフィールドとグループをフォーム テンプレートのセカンダリ データ ソースに追加します。InfoPath は WSDL ファイルに不明な要素の種類を検出すると、サンプル データを使い、不明な要素の種類の定義を判断し、適切なフィールドとグループをセカンダリ データ ソースに追加します。

  8. フォームがネットワークに接続されていないときにクエリの結果を使用できるようにするには、[フォーム テンプレートのデータのコピーを保存する] チェック ボックスをオンにします。

    セキュリティに関するお知らせ : このチェック ボックスをオンにすると、クエリ結果がフォーム テンプレートに保存されます。データがフォーム テンプレートに保存されるため、コンピュータがネットワークに接続されていない場合でも、ユーザーが入力するフォーム内でデータを使用できます。このデータ接続から機密データを取得している場合は、コンピューターの紛失や盗難に備えて、この機能を無効にすることができます。

  9. [次へ] をクリックします。

  10. ウィザードの次のページで、クエリ データ接続のわかりやすい名前を入力します。

  11. このフォーム テンプレートに基づくフォームを開いたときにデータを自動的に受信するようにするには、[フォームを開くとき自動的にデータを取得する] チェック ボックスをオンにします。

  12. [概要] セクションの情報が正しいことを確認し、[完了] をクリックします。

  13. [閉じる] をクリックします。

手順 2: セカンダリ データ接続を使用するようにフォーム テンプレートを構成する

フォーム テンプレートにクエリ データ接続を追加すると、既定では、ユーザーがフォーム テンプレートに基づくフォーム開いたときにそのフォームでデータ接続が使用されます。以下の方法のいずれかを実行して、クエリ データ接続を使用するようにフォーム テンプレートを構成することもできます。

  • 動作規則を追加する    動作規則の条件が満たされたときにクエリ データ接続を使用するように動作規則を構成できます。

  • ボタンを追加する    ユーザーがクエリ データ接続を使用してデータを取得するときにクリックできるように、ボタンをフォーム テンプレートに追加することができます。

  • ユーザー設定コードを使用する    規則やボタンを追加できない場合、ユーザー設定コードを使用して、クエリ データ接続でデータを取得することができます。ユーザー設定コードを使用する場合、開発者がユーザー設定コードを作成する必要があります。

動作規則を追加する

動作規則に関する基準が満たされた場合はクエリ データ接続からデータを取得するように、フォーム テンプレートの動作規則を追加できます。次の手順では、フォーム テンプレートにクエリ データ接続を作成し、そのデータ接続のデータを表示するコントロールをフォーム テンプレートに構成したと想定しています。

  1. 複数のビューを持つフォーム テンプレートの場合、[表示] メニューの [ビュー名] をクリックして、セカンダリ データ ソースのデータを表示するコントロールがあるビューに移動します。

  2. 動作規則を追加する対象のコントロールをダブルクリックします。

  3. [データ] タブをクリックします。

  4. [入力規則と動作規則] の [動作規則] をクリックします。

  5. [動作規則] ダイアログ ボックスで、[追加] をクリックします。

  6. [名前] ボックスに動作規則の名前を入力します。

  7. 動作規則を実行する条件を指定するには、[条件の設定] をクリックして条件を入力します。条件が満たされると、動作規則が実行されます。条件を設定しない場合は、ユーザーがコントロールの値を変更した後、そのコントロール以外へカーソルを移動するたびに動作規則が実行されます。

  8. [動作の追加] をクリックします。

  9. [動作] ボックスの一覧で、[データ接続を使用してクエリを送信する] をクリックします。

  10. [データ接続] ボックスの一覧で、使用するクエリ データ接続をクリックし、[OK] をクリックして開いている各ダイアログ ボックスを閉じます。

  11. 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。

ボタンを追加する

ユーザーがボタンをクリックしてクエリ データ接続からデータを取得できるように、フォーム テンプレートにボタン コントロールを追加できます。次の手順では、フォーム テンプレートにクエリ データ接続を作成したと想定しています。

  1. 複数のビューを持つフォーム テンプレートの場合、[表示] メニューの [ビュー名] をクリックして、セカンダリ データ ソースのデータを表示するコントロールがあるビューに移動します。

  2. [コントロール] 作業ウィンドウが表示されていない場合は、[挿入] メニューの [コントロールの選択] をクリックするか、Alt キーを押しながら I キー、C キーの順に押します。

  3. ボタン コントロールをフォーム テンプレートにドラッグします。

  4. フォーム テンプレートに追加したボタンをダブルクリックします。

  5. [全般] タブをクリックします。

  6. [操作] ボックスの一覧で、[更新] をクリックします。

  7. [ラベル] ボックスに、フォーム テンプレートのボタンに表示するボタンの名前を入力します。

  8. [設定] をクリックします。

  9. [更新] ダイアログ ボックスで、[1 つのセカンダリ データ ソース] をクリックします。

  10. [セカンダリ データ ソースを選択してください] ボックスの一覧で、クエリ データ接続に関連付けられたセカンダリ データ ソースをクリックし、[OK] をクリックして開いている各ダイアログ ボックスを閉じます。

  11. 変更内容をテストするには、[標準] ツール バーの [プレビュー] をクリックするか、Ctrl キーと Shift キーを押しながら B キーを押します。

ページの先頭へ

送信データ接続を追加する

フォーム テンプレートに基づくフォームを Web サービスに送信できるようにするには、最初に、データを送信するセカンダリ データ接続をフォーム テンプレートに追加します。次に、ユーザーによるフォーム データの送信を許可するようにフォーム テンプレートを構成します。

手順 1: セカンダリ データ接続を追加する

  1. [ツール] メニューの [データ接続] をクリックします。

  2. [データ接続] ダイアログ ボックスで、[追加] をクリックします。

  3. データ接続ウィザードで、[新しいデータ接続先] をクリックし、[データの送信] をクリックします。次に、[次へ] をクリックします。

  4. [どのようにデータを送信しますか?] で [Web サービスに送信] をクリックし、[次へ] をクリックします。

  5. ウィザードの次のページで、データの送信先とする Web サービスの場所を入力し、[次へ] をクリックします。

    注: どこからでも説明の検出との統合 (拡張) サーバーを使用して Web サービスを検索する場合は、 UDDI の検索] をクリックして、検索、検索キーワードを入力または用意されているサービス プロバイダーで検索するかどうかを指定して、[検索] をクリックする UDDI サーバーの URL を入力します。検索キーワードが一致する web サービスは、検索結果のリストに表示されます。使うには、Web サービスを選択し、[ OK] をクリックします。

  6. [処理を選択してください] ボックスの一覧で、フォーム データを受信する Web サービス処理をクリックし、[次へ] をクリックします。

  7. ウィザードの次のページで、Web サービスの各パラメータについて、フォーム内のどのデータを送信するのかを選択するために、次のいずれかの操作を行います。

    フィールドまたはグループのデータを送信する

    1. [パラメーター] ボックスの一覧で、フォームのデータを受信する Web サービスのパラメーターをクリックします。

    2. [パラメータ オプション] の [フィールドまたはグループ] をクリックします。

    3. [データ ソース] ボタン変更] をクリックします。

    4. [フィールドまたはグループの選択] ダイアログ ボックスで、送信するデータが含まれるフィールドまたはグループをクリックし、[OK] をクリックします。

    5. [含める] ボックスで、[テキストと子要素のみ] をクリックし、このフィールド内のデータとフィールドまたはグループの子要素のみを送信するか、または [選択した要素を含む XML サブツリー] をクリックし、フィールド名、フィールド内のデータ、および、選択したグループまたはフィールドの子要素を送信します。

    フォームのすべてのデータを送信する

    1. [パラメーター] ボックスの一覧で、フォームのデータを受信する Web サービスのパラメーターをクリックします。

    2. [パラメーターのオプション] で、フォーム全体 (XML ドキュメント、処理命令を含む)をクリックします。

    データを文字列として送信する

    1. [パラメーター] ボックスの一覧で、フォームのデータを受信する Web サービスのパラメーターをクリックします。

    2. [パラメーターのオプション] で、フォーム全体 (XML ドキュメント、処理命令を含む)をクリックします。

    3. [データを文字列として送信する] チェック ボックスをオンにします。

      注: 通常、このチェック ボックスは、デジタル署名したデータを送信する場合にオンにします。ほとんどの場合はこのチェック ボックスをオフにします。

    ADO.NET の DataSet オブジェクトに関する技術情報

    Web サービスで ADO.NET の DataSet オブジェクトを必要とする場合は、このデータ接続を構成するときに、データセット ノードを選択します。ADO.NET の DataSet オブジェクトを必要とする Web サービスへのデータ接続に他の種類のノードを使用すると、送信操作は失敗します。

  8. [次へ] をクリックします。

  9. ウィザードの次のページで、送信データ接続の名前を入力します。

  10. [概要] セクションの情報が正しいことを確認し、[完了] をクリックします。

  11. [閉じる] をクリックします。

セカンダリ送信データ接続を追加した後は、ユーザーがこの送信データ接続を使用してフォーム データを送信できるようにフォーム テンプレートを構成する必要があります。

手順 2: フォーム テンプレートで送信を有効にする

ユーザーによるフォーム データの送信を許可するようにフォーム テンプレートを構成すると、[標準] ツールバーに [送信] ボタンが追加され、フォームの [ファイル] メニューに [送信] コマンドが追加されます。また、次のようにフォーム テンプレートの送信オプションをカスタマイズすることもできます。

  • [送信] ボタンと [送信] コマンドに表示するテキストを変更します。

  • [送信] ボタンと [送信] コマンドのキーボード ショートカットを変更します。

  • ユーザーがフォームを送信したときに表示される、ユーザー設定のメッセージを作成します。

  • フォームが送信された後、フォームを開いたままにしておくか、フォームを閉じるか、または新しい空のフォームを開くかを指定します。

  • [ツール] メニューの [送信オプション] をクリックします。

  • [送信オプション] ダイアログ ボックスで、[ユーザーによるこのフォームの送信を許可する] チェック ボックスをオンにし、[フォームのデータを単一の宛先に送信する] をクリックします。次に、一覧の [Web サービス] をクリックします。

  • [送信用のデータ接続を選択する] ボックスの一覧で、前の手順で作成した Web サービスへの送信データ接続の名前をクリックします。

    1. ユーザーがフォームに入力する時に [標準] ツールバーに表示される [送信] ボタンの名前と、[ファイル] メニューに表示される [送信] コマンドの名前を変更するには、[送信オプション] ダイアログ ボックスの [キャプション] ボックスに新しい名前を入力します。

      ヒント: このボタンとコマンドにショートカット キーを割り当てる場合は、キーボード ショートカットとして使用する文字の前にアンパサンド (&) を入力します。たとえば、[送信] ボタンのキーボード ショートカットとして ALT+B を割り当てるには、「Su&bmit」と入力します。

  • ユーザーがフォームに入力する時に [送信] コマンドまたは [標準] ツールバーの [送信] ボタンを使用できないようにする場合は、[送信メニューおよび送信ツール バーを表示する] チェック ボックスをオフにします。

    1. 既定では、ユーザーがフォームを送信した後もそのフォームは開いたままになり、フォームの送信が正常に終了したかどうかを示すメッセージが表示されます。この既定の動作を変更するには、[詳細設定] をクリックし、次のいずれかの操作を行います。

      • ユーザーが入力済みのフォームを送信した後で、そのフォームを閉じるか新しい空のフォームを作成する場合は、[送信後] ボックスの一覧で目的のオプションをクリックします。

      • フォームが正常に送信されたかどうかを示すメッセージを独自に作成する場合は、[ユーザー設定のメッセージを使用する] チェック ボックスをオンにし、[成功時] と [失敗時] の両方のボックスにそれぞれメッセージを入力します。

        ヒント: [失敗時] ボックスのメッセージには、フォームを送信できなかった場合の対処法を含めます。たとえば、フォームを保存したうえで関係者に問い合わせるようにユーザーに促すメッセージを入力できます。

      • ユーザーがフォームを送信した後に確認メッセージを表示しない場合は、[成功時および失敗時にメッセージを表示する] チェック ボックスをオフにします。

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×