locked
SharePointで動作するWebサービスで、どのようにInfoPathの繰り返しテーブルの値を受け取ればよいのか? RRS feed

  • 質問

  • 現在、以下のようなサービスを考えています。

    1. InfoPath 2010にてフォームを作成
    2. 利用者は、InfoPathで作成されたフォームを利用し、ブラウザ上でデータを入力
    3. データ接続によりSharePoint 2010にデータを送信(SOAP接続になるかと思います)
    4. SharePoint上に作成したWebサービスにて送信されたデータを受信
    5. 受信したデータをSQL Serverに格納

    Webサービス用のテストコードを作成して試しているのですが、InfoPathで作成した繰り返しテーブルのデータの受信方法がわからずに困っています。

    ちなみに、こちらのサイトを参考に、テストコードを書いています。

    http://blogs.msdn.com/b/tsmatsuz/archive/2008/12/16/infopath-form-services-1.aspx

    そもそも、上記方法で繰り返しテーブル内に設定したすべてのデータを取得できるのかどうかすら不明です。

    できるとした場合に、下記のようにSetData()のI/FにSQL Serverのカラム名を指定する必要があるのですが、繰り返しテーブルの場合にどのように指定したらよいのかわかりません。

    public class TestDataService : System.Web.Services.WebService
    {
        [WebMethod]
        public int SetData(int id, string name, int cost)
        {

    ご存じの方がいらっしゃいましたら、教えていただけないでしょうか?

    2012年11月27日 12:39

すべての返信

  • すみません。

    私が勘違いしてまして、SharePoint配下で動くWebサービスではなく、SharePointがのっているサーバのIISで動くWebサービスでした。

    なので、まだ問題の「InfoPathのフォーム内の繰り返しテーブルの値を受け方」が不明ですが、本フォーラムには不適切な質問でした。

    また、Webサービスの作成作業を進めていくにあたり、新たな疑問点がでてきましたので、新規にスレッドを起こさせていただきました。

    よろしかったら、そちらのほうもご覧になっていただけないでしょうか?

    「SharePoint - 80」のアプリケーションプールの、.NETFrameworkのバージョンをV2.0からV4.0に変更すると、SharePointにアクセスできなくなる

    http://social.msdn.microsoft.com/Forums/ja-JP/sharepointdevelopja/thread/6c480141-dd98-4d26-93c9-73a786923104

    2012年11月29日 7:23
  • 今は手元に動作確認ができる環境がないため私の記憶になりますが、
    InfoPath Forms Service を利用した場合、繰り返しテーブルは使用することはできません

    VisualStudio が使用可能でしたら実際に確認することが出来ますが、
    繰り返しテーブルは web サービスを介して配列でデータを渡すことが出来るのですが、
    実際に渡される値は配列の先頭データ1つだけになります

    SharePoint 2007 時代に実際に Microsoft のリファレンスで記載しているページがあったのですが、
    見つけることはできませんでした

    この問題は SharePoint 2010 が出たばかりの頃にも解決されてはいませんでしたので、
    SP などで修正が入っていない限り、できないと思います

    • 回答の候補に設定 佐伯玲 2013年2月22日 1:48
    2013年2月18日 12:19