none
InfoPath2007の繰り返しテーブルのデータをWebサービスに渡す方法 RRS feed

  • 質問

  • いつも参考にさせて頂いております。

     

    MOSS2007のInfoPath Forms Services+Path2007を利用してWebフォームを作成しています。

     

    InfoPathの繰り返しテーブルのデータをWebサービスに渡し、Webサービス側でそのデータを

    DBに書き込むしかけを作っていますが、繰り返しテーブルのデータをWebサービス側に意図

    したとおり渡せず困っています。

     

    C#でWebサービスを書いており、繰り返しテーブルのデータをもらうには、配列を引数として

    指定すればよいものと認識していました。しかし、実験した範囲では、繰り返しテーブルの

    先頭の要素しか取得できません。言い方を変えれば、配列データとしてデータを取得できて

    いるけど先頭の要素だけ、ということになります。

     

    Webサービス側のメソッドは以下の宣言です。

    以下のいずれでも×でした。

     

      public int PutCheck(int nStaffNo, DateTime dteCheckYM, ref CheckData[] cd)
      public int PutCheck(int nStaffNo, DateTime dteCheckYM, CheckData[] cd)

      ※ CheckData[] cdが繰り返しテーブルのデータを貰う引数

     

    また、InfoPath2007のデータ接続ウィザードでパラメータのデータ元を指定するシーンが

    ありますが、そこでは以下の設定をしています。

     

    ・フィールドまたはグループ

      /dfs:myFields/dfsBig SmileataFields/tns:GetCheckResponse/tns:GetCheckResult/tns:CheckData

      ※CheckData(グループ)は繰り返しテーブルです

    ・含める

      選択した要素を含むXMLサブツリー

     

    できないはずはないと思うのですが何が足りないのでしょうか?

    ご教示のほどよろしくお願い申し上げます。

    2008年11月8日 10:20

回答

すべての返信

  • InfoPath Forms Servicesでは、配列要素は先頭の要素しか認識しないみたいですよ。

    だから、先頭の要素しか渡されないと思います。

    InfoPath2007からの動作では、うまく動作すると思いますがどうですか?

    2009年5月23日 5:40
  • こんにちは、フォーラムオペレーターの鈴木裕子です(^O^)/

    Kero_dayon さん、回答ありがとうございました!

    hajimechan さん、投稿から時間が経過していたので既に解決済みだったかもしれませんが、Kero_dayon さんが貴重な情報を投稿してくださったので、同じ現象に遭遇している方にこのスレッドを活用していただければと、勝手ながら私の方で[回答としてマーク]をつけさせていただきました。もちろん、質問主はhajimechan さんですので、不適当と思われた場合は、遠慮なくチェック解除してくださいね。

    これからも、皆様の情報交換の場としてForumをご活用くださいね(^-^)
    質問、コメント、どちらもご参加お待ちしています!


    マイクロソフト株式会社 フォーラムオペレーター 鈴木裕子
    2009年6月18日 6:12
    モデレータ