InfoPath 2010 REST サービスにつなぐデータ接続 [郵便番号検索]

こんにちは、奥田です。
最近 SharePoint Server 2010 のリストフォームについて、InfoPath でカスタマイズする際の内容についてあれやこれやと投稿させていただいてましたが、今日は InfoPath についてです。

InfoPath では、受信送信のデータ接続が利用できますが、InfoPath 2010 で REST サービスにつなぐデータ接続を作成できるようになりました。今日は InfoPath 2010 で REST サービスに接続するやり方をご紹介します。

http://(URL)?[パラメータ]  のように REST サービス呼び出しを実行するときにはパラメータを URL にセットしますが、InfoPath で REST サービスを利用する際には、フォームに入力されたデータをパラメータにセットする形になることがほとんどかと思います。そのため InfoPath 2010 では [REST URL の変更] という動作が用意されています。

今回は、郵便番号検索サービスを利用して、次図のような郵便番号の入力から住所を自動表示するサンプルをベースに使い方をご紹介します。

rest1

<フォーム内容>
・ 郵便番号のテキスト ボックス (フィールド名は Zip とします)
・ 住所のテキスト ボックス (フィールド名は Address とします)
・ [郵便番号検索] ボタン

<接続するサービス>
http://zip.cgis.biz/ で提供されている郵便番号検索サービスを利用させていただきました。
  http://zip.cgis.biz/xml/zip.php?zn=1050001
とリクエストを送信することで、住所が XML でかえってきます。
  rest2

<InfoPath での設定>

1. REST サービスに接続する受信データ接続を作成します。
    ・ 戻り値の型を取得するため、仮の値をパラメータでセットした URL を指定します。
       rest3

    ・ 郵便番号をフォーム内で入力されてから呼び出しを行いたいので、[フォームを開くとき自動的にデータを取得する] オプション
      はオフにします。
       rest4

2. [郵便番号検索] ボタンのルールとして、次の設定を行います。

   ・ 1つ目の動作 (REST URL にパラメータをセットする)
     – [REST URL の変更] 動作
     – 1 の手順で作成したデータ接続を選択
     – URL に cancat関数を利用して、パラメータをセットする
           cancat(“サービスのURL”,”?パラメータ名=”,<パラメータにしたいフィールド>)

      rest5

   ・ 2つ目の動作 (サービス呼び出し)
     – データのクエリを送信する
    
– 1 の手順で作成したデータ接続を選択

      rest6

   ・ 3つ目の動作 (サービスからの戻り値をフィールドにセットする)
    
– フィールドの値を設定する
    
– サービスから取得したデータをセットしたいフィールドを選択 (今回だったら Address)
    
– サービスの戻り値から値をセット (セカンダリ データソースからフィールドを選択)

      rest7

 

以上です。

InfoPath 2010 から REST サービスへのデータ接続がサポートされるようになりましたが、利用方法についてご紹介しました。

奥田理恵でした。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中