設計以 Web 服務為基礎的表單範本

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

您可以設計使用 Web 服務來查詢資料和 (或) 送出資料的表單範本。

本文內容

概觀

相容性注意事項

開始之前

設計表單範本與查詢資料連線

設計表單範本與送出資料連線

設計表單範本與查詢並送出資料連線

概觀

表單可以具有一個主要資料連線 (稱為主要資料連線),也可以具有一個或多個次要資料連線。根據表單的目的而定,資料連線可能會查詢或送出表單資料給外部資料來源,如 Microsoft SQL Server 資料庫或 Web 服務。

當您設計 Web 服務為基礎的表單範本時,您可以選擇設定表單範本允許接收資料、 傳送資料,或傳送及接收 Web 服務資料的表單範本為基礎的表單。如果您要設計表單範本以允許接收來自 Web 服務資料的表單,Microsoft Office InfoPath 建立表單的主資料連線的查詢資料連線。為基礎的資料連線,InfoPath 可以建立主資料來源查詢欄位、 資料欄位與XML 結構描述的 Web 服務為基礎的群組。查詢欄位包含 Web 服務用來決定所要傳送至表單的資料。當此表單範本為基礎的表單使用的主資料連線時,InfoPath 就會建立查詢,使用 [查詢] 欄位中的資料。InfoPath 然後會查詢資料連線到查詢傳送到 Web 服務。Web 服務會傳回查詢結果的查詢資料連線到表單。

因為查詢和資料欄位的資料結構必須符合 Web 服務中所儲存之資料的資料結構,所以您無法修改主要資料來源中的現有欄位或群組。您只可以將欄位或群組新增至主要資料來源的根群組。如需資料來源的詳細資訊連結,請瀏覽「請參閱」一節中的連結。

設計表單範本將資料傳送給 Web 服務時,InfoPath 會在表單的主要資料連線中建立送出資料連線。這可以讓使用者將他們表單中的資料送出給 Web 服務。InfoPath 也會在 [檔案] 功能表上新增 [送出] 命令,並啟用表單之 [標準] 工具列上的 [送出] 按鈕。您也可以自訂表單的送出選項。建立送出資料連線時,InfoPath 會決定 Web 服務中的哪些參數適合用於接收資料。您可以根據這個資訊,指定想要送出給 Web 服務的欄位。

如果是設計表單範本傳送和接收 Web 服務的資料,則 InfoPath 會同時建立查詢資料連線和送出資料連線。

InfoPath 會使用下列 Web 服務標準來與 Web 服務通訊:

  • 簡易物件存取通訊協定 (SOAP)    SOAP 是一種通訊協定,可定義用來與 Web 服務通訊的 XML 訊息。

  • Web 服務描述語言 (WSDL)    WSDL 是一種 XML 描述結構標準,用來描述 Web 服務的位置、通訊協定和介面。InfoPath 只可以使用 document/literal 樣式 Web 服務。

  • 通用描述、探索與整合 (UDDI)    UDDI 是一種目錄服務,用來描述企業所提供的 Web 服務。

頁面頂端

相容性考量

您無法在瀏覽器相容的表單範本中,將送出資料連線設定為允許使用者將變更資訊與表單資料送出至接受 Microsoft ADO.NET DataSet 的 Web 服務。變更資訊包含使用者對資料庫中存放之資料所做的修改。資料庫會使用 Web 服務,將使用者連線至資料庫。ADO.NET 可以使用變更資訊來判斷如何更新資料庫中的資料。請向您的 Web 服務管理員詢問 Web 服務是否需要變更資訊來更新資料庫。如果需要,您就應該設計一份只能使用 InfoPath 填寫表單的表單範本。

頁面頂端

在您開始之前

若要設計以 Web 服務為基礎的表單範本,需要下列來自 Web 服務管理員的資訊:

  • Web 服務的位置。

  • 確認 Web 服務是否使用 document/literal 樣式編碼。InfoPath 只能使用 document/literal 樣式的 Web 服務。

  • Web 服務作業的名稱,該作業將傳送或接收以這個表單範本為基礎之表單的資料。

頁面頂端

設計具有查詢資料連線的表單範本

若要設計含有查詢資料連線的表單範本,您必須進行下列動作:

  1. 建立表單範本    當您要建立可以自 Web 服務接收資料的表單範本時,InfoPath 會在 Web 服務與以這個表單範本為基礎的表單之間,建立與查詢資料連線的主要資料連線。InfoPath 也會建立表單範本的主要資料來源。

  2. 新增一或多個控制項,以顯示查詢結果   若要允許使用者查看並編輯的主資料來源中的欄位中的資料,開啟表單時,您可以新增控制項至表單範本,並將該控制項繫結至主資料來源中的欄位。

步驟 1:建立表單範本

  1. 按一下 [檔案] 功能表上的 [設計表單範本]

  2. [設計表單範本] 對話方塊的 [設計新的] 底下,按一下 [表單範本]

  3. [根據] 清單中,按一下 [Web 服務]

  4. 如果您要設計瀏覽器相容表單範本,請選取 [僅啟用瀏覽器相容功能] 核取方塊。

  5. 按一下 [確定]。

  6. 在 [資料連線精靈] 中按一下 [接收資料],然後按 [下一步]

  7. 在精靈的下一頁上,輸入 Web 服務的位置,然後按一下 [下一步]

    如果您想要使用 「 通用描述、 探索及整合 (UDDI) 伺服器搜尋 Web 服務時,按一下 [搜尋 UDDI,輸入您想要搜尋,指定是否要搜尋提供者或所提供的服務,請輸入搜尋關鍵字,然後按一下 [搜尋UDDI 伺服器的 URL。符合搜尋關鍵字的 web 服務會出現在 [搜尋結果] 清單中。選取您要使用的 Web 服務,然後再按一下[確定]。

  8. [選取作業] 清單中,按一下將資料傳回表單的 Web 服務作業,然後按一下 [下一步]

  9. 如果「資料連線精靈」在 Web 服務的結構描述中遇到不明元素,此精靈的下一頁可能會要求您指定每個參數的範例值,以判斷要新增至主要資料來源的欄位或群組。

    做法

    1. 選取 [參數] 資料表中的參數,然後按一下 [設定範例值

    2. 在 [範例值] 方塊中,輸入值可能會使用此欄位中,您的使用者,並按一下 [確定

    3. 在 [參數] 資料表中每個參數的重複這些步驟,然後按一下 [下一步

    技術細節

    當您設定的資料連線,Web 服務資料連線精靈] 中時,Microsoft Office InfoPath 連接至 Web 服務,並要求 Web 服務描述語言 (WSDL) 檔案。WSDL 檔案包含使用 Web 服務的結構描述。Web 服務會傳送檔案給 infopath 來回應邀請。InfoPath 會使用此檔案中的資訊,將適當的欄位和群組新增至表單範本中的次要資料來源。如果 InfoPath WSDL 檔案中發現未知的項目類型,InfoPath 來決定未知的項目類型的定義中使用範例資料,並適當的欄位和群組次要資料來源。

  10. 如果 Web 服務接受變更資訊,此精靈的下一頁就會詢問您是否想要在查詢資料中包含變更資訊。在大部分情況下,請將 [送出資料時包含變更資訊] 核取方塊保持選取狀態,然後按 [下一步]。如果您不想要包含變更資訊,請清除 [送出資料時包含變更資訊] 核取方塊,然後按 [下一步]

    如果您是設計與瀏覽器相容的表單範本,則這個核取方塊將會停用。

    技術細節

    只有當 Web 服務的 Web 服務描述語言 (WSDL) 檔指出 Web 服務會傳回 Microsoft ADO.NET DataSet 時,才會顯示此精靈中的這個頁面。

  11. 在精靈的下一個頁面上,輸入資料連線的名稱。

  12. 確認 [摘要] 區段中的資訊正確無誤,然後按一下 [完成]

步驟 2︰ 新增一或多個控制項,以顯示查詢結果

  1. 如果沒有看到 [控制項] 工作窗格,請按一下 [插入] 功能表上的 [其他控制項],或按 ALT+I、C。

  2. 將控制項拖曳至表單範本上。

  3. 控制項繫結] 對話方塊中,選取的群組或您想要繫結控制項的欄位。

頁面頂端

設計具有送出資料連線的表單範本

若要設計具有送出資料連線的表單,您必須執行下列動作:

  1. 建立表單範本    當您建立可以將資料送出至 Web 服務的表單範本時,InfoPath 會在 Web 服務與以這個表單範本為基礎的表單之間,建立與送出資料連線的主要資料連線。InfoPath 也會建立表單範本的主要資料來源。

  2. 新增一或多個 controlsand 繫結給群組或欄位,或設定控制項屬性,以顯示欄位中的資料   若要允許使用者編輯的主資料來源中的欄位中的資料,您可以將控制項新增至表單範本,然後再將這些控制項繫結到主資料來源中的欄位。

  3. 設定送出選項    您可以設定要送出至 Web 服務的資料以及表單的送出選項。

步驟 1:建立表單範本

  1. 按一下 [檔案] 功能表上的 [設計表單範本]

  2. [設計表單範本] 對話方塊的 [設計新的] 底下,按一下 [表單範本]

  3. [根據] 清單中,按一下 [Web 服務]

  4. 如果您要設計瀏覽器相容表單範本,請選取 [僅啟用瀏覽器相容功能] 核取方塊。

  5. 按一下 [確定]。

  6. 在「資料連線精靈」上,按一下 [送出資料],再按 [下一步]

  7. 在精靈的下一頁上,輸入使用者要送出資料的 Web 服務位置,然後按一下 [下一步]

    如果您想要使用 「 通用描述、 探索及整合 (UDDI) 伺服器搜尋 Web 服務時,按一下 [搜尋 UDDI,輸入您想要搜尋,指定是否要搜尋提供者或所提供的服務,請輸入搜尋關鍵字,然後按一下 [搜尋UDDI 伺服器的 URL。符合搜尋關鍵字的 web 服務會出現在 [搜尋結果] 清單中。選取您要使用的 Web 服務,然後再按一下[確定]。

  8. 按一下 [下一步]

  9. [選取作業] 清單中,按一下接收送出資料的 Web 服務作業,然後按一下 [下一步]

  10. 在精靈的下一個頁面上,輸入資料連線的名稱。

  11. 確認 [摘要] 區段中的資訊正確無誤,然後按一下 [完成]

步驟 2︰ 新增一或多個控制項,並將其繫結到群組或欄位

  1. 如果沒有看到 [控制項] 工作窗格,請按一下 [插入] 功能表上的 [其他控制項],或按 ALT+I、C。

  2. 將控制項拖曳至表單範本上。

  3. 控制項繫結] 對話方塊中,選取的群組或您想要繫結控制項的欄位。

  4. 其他您想要新增至表單範本的控制項,重複步驟 2 和 3。

步驟 3:設定送出選項

  1. 按一下 [工具] 功能表的 [資料連線]

  2. [資料連線] 對話方塊中,按一下主要資料連線中的送出資料連線,然後按一下 [修改]

  3. 按一下「資料連線精靈」中的 [下一步]

  4. 在精靈的下一頁上,若要選取要將表單中的哪些資料送出給 Web 服務中的每個參數,執行下列其中一項動作。

    送出欄位或群組中的資料

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 按一下 [參數選項] 底下的 [欄位或群組]

    3. 按一下 [修改 按鈕圖像 ]。

    4. 在 [選取欄位或群組] 對話方塊中,按一下要送出資料的欄位或群組,然後按一下 [確定]。

    5. 按一下 [包括] 方塊中的 [僅能使用文字和子元素],只送出這個欄位中的資料以及欄位或群組的子元素,或按一下 [XML 樹狀子目錄,包括選取的元素],送出欄位名稱、欄位中的資料以及選取群組或欄位中的子元素。

    送出所有的表單中的資料

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 參數選項] 底下按一下 [整個表單 (XML 文件,包括處理指示)]。

    將資料送出成字串

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 參數選項] 底下按一下 [整個表單 (XML 文件,包括處理指示)]。

    3. 選取 [以字串方式送出資料] 核取方塊。

      附註: 通常,只有在需要送出數位簽章的資料時才選取這個核取方塊。大多數情況下,請清除這個核取方塊。

    技術詳細資料 ADO.NET 資料集的物件

    如果 Web 服務需要 ADO.NET DataSet 物件,請在設定這個資料連線時選取資料集節點。如果針對需要 ActiveX Data Objects (ADO) 資料集之 Web 服務的資料連線使用任何其他類型的節點,則送出動作會失敗。

  5. 按一下 [下一步]

  6. 按一下 [完成]。

  7. 按一下 [關閉]。

  8. 在 [工具] 功能表上按一下 [送出選項]。

    1. 若要變更的名稱出現在 [標準] 工具列和 [送出] 命令時,會出現在 [檔案] 功能表上的使用者填寫表單上的 [送出] 按鈕,請在 [送出選項] 對話方塊中的 [標題] 方塊中輸入新名稱。

      如果要指派鍵盤快速鍵,此按鈕和命令,請輸入 & 符號 (&) 之前您想要使用的鍵盤快速鍵的字元。例如,若要指定為送出] 按鈕和命令的鍵盤快速鍵的 ALT + B,輸入Su 與 bmit

  9. 如果您不要人員送出] 指令或送出] 按鈕使用在 [標準] 工具列上,填寫表單時,請清除 [顯示 [提交] 功能表項目及送出] 工具列按鈕] 核取方塊。

    1. 根據預設,使用者送出表單之後, InfoPath 保持表單開啟,並會顯示訊息,表示已成功送出表單。若要變更此預設行為,按一下 [進階],然後執行下列其中一項︰

      1. 若要關閉表單或建立新的空白表單使用者送出完成的表單之後,請按一下之後送出」 清單中想要的選項。

      2. 若要建立自訂的訊息,表示已成功送出表單,選取 [使用自訂的郵件] 核取方塊,,然後輸入您的郵件在成功失敗] 方塊。

        使用 [失敗] 方塊中的訊息,告訴使用者他們無法送出表單時該怎麼辦。例如,您可以建議使用者儲存表單,並與其他人取得進一步的指示。

      3. 如果您不想顯示的訊息,使用者送出表單之後,請清除 [顯示成功和失敗的郵件] 核取方塊。

頁面頂端

設計具有查詢和送出資料連線的表單範本

若要設計同時具有查詢資料連線和送出資料連線的表單範本,您必須進行下列動作:

  1. 建立表單範本    當您建立可以查詢和送出資料給 Web 服務的表單範本時,InfoPath 會在表單範本與具有查詢資料連線和送出資料連線的 Web 服務之間建立主要資料連線。InfoPath 也會建立表單範本的主要資料來源。

  2. 新增控制項,並將它繫結至欄位以顯示欄位中的資料    若要允許使用者查看和編輯主要資料來源之欄位中的資料,您可以將控制項新增至表單範本,然後將那些控制項繫結至主要資料來源的欄位中。

  3. 設定送出選項    您可以設定要送出至 Web 服務的資料以及表單的送出選項。

步驟 1:建立表單範本

  1. 按一下 [檔案] 功能表上的 [設計表單範本]

  2. [設計表單範本] 對話方塊的 [設計新的] 底下,按一下 [表單範本]

  3. [根據] 清單中,按一下 [Web 服務]

  4. 如果您要設計瀏覽器相容表單範本,請選取 [僅啟用瀏覽器相容功能] 核取方塊。

  5. 按一下 [確定]。

  6. 在「資料連線精靈」中,按一下 [接收和送出資料],然後按一下 [下一步]

  7. 在精靈的下一頁上,輸入 Web 服務 (含有要將資料傳送至表單範本的作業) 的位置,然後按一下 [下一步]

    如果您想要使用 「 通用描述、 探索及整合 (UDDI) 伺服器搜尋 Web 服務時,按一下 [搜尋 UDDI,輸入您想要搜尋,指定是否要搜尋提供者或所提供的服務,請輸入搜尋關鍵字,然後按一下 [搜尋UDDI 伺服器的 URL。符合搜尋關鍵字的 web 服務會出現在 [搜尋結果] 清單中。選取您要使用的 Web 服務,然後再按一下[確定]。

  8. [選取作業] 清單中,按一下將資料傳回表單的 Web 服務作業,然後按 [下一步]

  9. 如果「資料連線精靈」在 Web 服務的結構描述中遇到不明項目,此精靈的下一頁可能會要求您指定每個參數的範例值,以便判斷哪些欄位或群組要加入至主要資料來源。

    做法

    1. 選取 [參數] 資料表中的參數,然後按一下 [設定範例值

    2. 在 [範例值] 方塊中,輸入值可能會使用此欄位中,您的使用者,並按一下 [確定

    3. 在 [參數] 資料表中每個參數的重複這些步驟,然後按一下 [下一步

    技術細節

    當您設定的資料連線,Web 服務資料連線精靈] 中時,Microsoft Office InfoPath 連接至 Web 服務,並要求 Web 服務描述語言 (WSDL) 檔案。WSDL 檔案包含使用 Web 服務的結構描述。Web 服務會傳送檔案給 infopath 來回應邀請。InfoPath 會使用此檔案中的資訊,將適當的欄位和群組新增至表單範本中的次要資料來源。如果 InfoPath WSDL 檔案中發現未知的項目類型,InfoPath 來決定未知的項目類型的定義中使用範例資料,並適當的欄位和群組次要資料來源。

  10. 如果 Web 服務接受變更資訊,此精靈的下一頁就會詢問您是否想要在查詢資料中包含變更資訊。在大部分情況下,請保持選取 [送出資料時包含變更資訊] 核取方塊,然後按一下 [下一步]。如果您不想要包含變更資訊,請按一下以清除 [送出資料時包含變更資訊] 核取方塊,然後按一下 [下一步]

    如果您設計的是與瀏覽器相容的表單範本,則這個核取方塊將會停用。

    技術細節

    只有當 Web 服務的 Web 服務描述語言 (WSDL) 檔指出 Web 服務會傳回 ADO.NET DataSet 時,才會顯示精靈中的這個頁面。

  11. 在精靈的下一頁上,輸入查詢資料連線的名稱,然後按一下 [下一步]

  12. 在精靈的下一頁上,輸入使用者要送出其表單的 Web 服務位置,然後按一下 [下一步]

    如果您想要使用 「 通用描述、 探索及整合 (UDDI) 伺服器搜尋 Web 服務時,按一下 [搜尋 UDDI,輸入您想要搜尋,指定是否要搜尋提供者或所提供的服務,請輸入搜尋關鍵字,然後按一下 [搜尋UDDI 伺服器的 URL。符合搜尋關鍵字的 web 服務會出現在 [搜尋結果] 清單中。選取您要使用的 Web 服務,然後再按一下[確定]。

  13. [選取作業] 清單中,按一下接收送出資料的 Web 服務作業,然後按一下 [下一步]

  14. 在精靈的下一頁上,若要選取要將表單中的哪些資料送出給 Web 服務中的每個參數,請執行下列其中一個動作。

    送出欄位或群組中的資料

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 按一下 [參數選項] 底下的 [欄位或群組]

    3. 按一下 [修改 按鈕圖像 ]。

    4. 在 [選取欄位或群組] 對話方塊中,按一下要送出資料的欄位或群組,然後按一下 [確定]。

    5. 按一下 [包括] 方塊中的 [僅能使用文字和子元素],只送出這個欄位中的資料以及欄位或群組的子元素,或按一下 [XML 樹狀子目錄,包括選取的元素],送出欄位名稱、欄位中的資料以及選取群組或欄位中的子元素。

    送出所有的表單中的資料

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 參數選項] 底下按一下 [整個表單 (XML 文件,包括處理指示)]。

    將資料送出成字串

    1. 在 [參數] 清單中,按一下將從表單接收資料的 Web 服務參數。

    2. 參數選項] 底下按一下 [整個表單 (XML 文件,包括處理指示)]。

    3. 選取 [以字串方式送出資料] 核取方塊。

      通常,只有在需要送出數位簽章的資料時才選取這個核取方塊。大多數情況下,請清除這個核取方塊。

    技術詳細資料 ADO.NET 資料集的物件

    如果 Web 服務需要 ADO.NET DataSet 物件,請在您設定此資料連線時,選取資料集節點。如果您針對需要 ADO.NET DataSet 之 Web 服務的資料連線使用任何其他類型的節點,送出動作將會失敗。

  15. 按一下 [下一步]。

  16. 在精靈的下一頁上,輸入送出資料連線的名稱,然後按一下 [完成]

步驟 2:新增控制項,並將它繫結至欄位以顯示欄位中的資料

  1. 如果沒有看到 [控制項] 工作窗格,請按一下 [插入] 功能表上的 [其他控制項],或按 ALT+I、C。

  2. 將控制項拖曳至表單範本上。

  3. 控制項繫結] 對話方塊中,選取您要繫結控制項的欄位。

步驟 3:設定送出選項

  1. 在 [工具] 功能表上按一下 [送出選項]。

    1. 若要變更的名稱出現在 [標準] 工具列和 [送出] 命令時,會出現在 [檔案] 功能表上的使用者填寫表單上的 [送出] 按鈕,請在 [送出選項] 對話方塊中的 [標題] 方塊中輸入新名稱。

      如果要指派鍵盤快速鍵,此按鈕和命令,請輸入 & 符號 (&) 之前您想要使用的鍵盤快速鍵的字元。例如,若要指定為送出] 按鈕和命令的鍵盤快速鍵的 ALT + B,輸入Su 與 bmit

  2. 如果您不要人員送出] 指令或送出] 按鈕使用在 [標準] 工具列上,填寫表單時,請清除 [顯示 [提交] 功能表項目及送出] 工具列按鈕] 核取方塊。

    1. 根據預設,使用者送出表單之後, InfoPath 保持表單開啟,並會顯示訊息,表示已成功送出表單。若要變更此預設行為,按一下 [進階],然後執行下列其中一項︰

      • 若要關閉表單或建立新的空白表單使用者送出完成的表單之後,請按一下之後送出」 清單中想要的選項。

      • 若要建立自訂的訊息,表示已成功送出表單,選取 [使用自訂的郵件] 核取方塊,,然後輸入您的郵件在成功失敗] 方塊。

        使用 [失敗] 方塊中的訊息,告訴使用者他們無法送出表單時該怎麼辦。例如,您可以建議使用者儲存表單,並與其他人取得進一步的指示。

      • 如果您不想顯示的訊息,使用者送出表單之後,請清除 [顯示成功和失敗的郵件] 核取方塊。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×