使用 BizTalk Server 和 Siebel 配接器在具有 MVG 欄位的商務元件上執行作業
本節提供在包含多重值欄位之商務元件上執行作業的指示。 若要示範這類商務元件的端對端作業,您需要執行:
父商務元件上的 INSERT 作業
子商務元件上的 INSERT 作業
父系和子商務元件之間多重值連結的 ASSOCIATE 作業
父業務元件記錄上的Query_[MVG_Child_Business_Comp] 作業
如需 Siebel 配接器如何支援商務元件作業的詳細資訊,請參閱 商務元件上的作業。 如需執行這些作業之 SOAP 訊息結構的詳細資訊,請參閱 商務元件作業的訊息架構。
如何使用多重值欄位在商務元件上執行作業?
使用 Siebel 配接器搭配BizTalk Server在 Siebel 系統上執行作業,牽涉到建立 Siebel 應用程式建置組塊中所述的程式工作。 若要對商務元件執行作業,這些工作如下:
建立 BizTalk 專案,並為您想要在商務元件上叫用的所有作業產生架構。 如先前所述,若要對具有多重值欄位的商務元件執行作業,您必須在父系和子商務元件上產生插入作業的架構、在父系和子商務元件之間的多重值連結上建立作業的關聯作業,以及父商務元件的查詢作業。
在 BizTalk 專案中建立訊息,以從 Siebel 系統傳送和接收訊息。
建立協調流程以叫用 Siebel 系統中的不同作業。
建置和部署 BizTalk 專案。
藉由建立實體傳送和接收埠來設定 BizTalk 應用程式。
啟動 BizTalk 應用程式。
本主題提供執行這些工作的指示。
以本主題為基礎的範例
根據本主題的 MVLDemo 範例也隨附 BizTalk 配接器套件。 如需詳細資訊,請參閱 Siebel 配接器的範例。
產生架構
在本主題中,為了示範如何將父商務元件 帳戶 關聯至子商務元件 Contact,我們將產生下列架構:
帳戶商務元件的 INSERT 作業。 請參閱使用 BizTalk Server 和 Siebel 配接器在商務元件上執行作業。
連絡人商務元件上的 INSERT 作業。
帳戶業務元件的關聯作業。
QUERY_CONTACT 帳戶 商務元件上的作業。
如需如何產生架構的詳細資訊,請參閱 在 Visual Studio 中取得 Siebel 作業的中繼資料 。
定義訊息和訊息類型
您稍早產生的架構描述協調流程中訊息所需的「類型」。 訊息通常是變數,其類型是由對應的架構所定義。 您必須將您在第一個步驟中產生的架構連結到 BizTalk 專案的協調流程檢視中的訊息。
針對本主題,您必須建立四組要求和回應訊息,每個作業都會針對您將在 Siebel 系統上叫用的作業建立一組。 每個集合都必須有要求訊息和回應訊息。 例如,下列程式提供建立關聯作業的要求和回應訊息的指示。 您必須執行類似的步驟,以建立其他作業的訊息。
執行下列步驟來建立訊息,並將其連結至架構:
建立訊息並連結至架構
如果尚未開啟,請開啟協調流程檢視 BizTalk 專案。 按一下 [ 檢視],指向 [其他 Windows],然後按一下 [ 協調流程檢視]。
在 [ 協調流程檢視]中,以滑鼠右鍵按一下 [ 訊息],然後按一下 [ 新增訊息]。
以滑鼠右鍵按一下新建立的訊息,然後選取 [ 屬性視窗]。
在Message_1的 [屬性]窗格中,執行下列動作:
使用 作法 識別碼 輸入 AccountAssociate_Request。 訊息類型 從下拉式清單中展開 [ 架構],然後選取 [MVLDemo.SiebelBindingSchema.Associate],其中 MVLDemo 是您 BizTalk 專案的名稱。 SiebelBindingSchema是針對在帳戶商務元件上叫用關聯作業所產生的架構。 重複上一個步驟以建立新的訊息。 在新訊息的 [ 屬性] 窗格中,執行下列動作:
使用 作法 識別碼 輸入 AccountAssociate_Response。 訊息類型 從下拉式清單中展開 [ 架構],然後選取 [MVLDemo.SiebelBindingSchema.AssociateResponse]。
設定協調流程
您現在必須設定協調流程,以使用BizTalk Server在帳戶和連絡商務元件上執行作業。
設定協調流程以在 帳戶 商務元件上執行 INSERT 作業。 請參閱使用 BizTalk Server 和 Siebel 配接器在商務元件上執行作業。
設定協調流程以在 連絡人 商務元件上執行 INSERT 作業。 這類似于 帳戶 商務元件上的 INSERT 作業。
設定協調流程以在 帳戶 商務元件上執行 ASSOCIATE 作業。
設定協調流程,以在 帳戶 商務元件上執行QUERY_CONTACT作業。
本主題將示範如何在 帳戶 商務元件上設定 ASSOCIATE 作業的協調流程。 您也必須執行類似的工作,才能設定其餘的協調流程。
帳戶商務元件上 ASSOCIATE 作業的協調流程如下所示:
在 Siebel
下一節提供如何卸載訊息圖形、埠、將訊息連結至架構等方式來設定此協調流程的資訊。您也必須執行類似的工作,才能設定其他協調流程。
新增訊息圖形
請確定您為每個訊息圖形指定下列屬性。 Shape資料行中列出的名稱是訊息圖形的名稱,如上述協調流程所示。
圖形 | 圖形類型 | 屬性 |
---|---|---|
AccountAssociateXML | 接收 | - 將 [名稱 ] 設定為 AccountAssociateXML - 將 Activate 設定為 True |
SendToLOB | 傳送 | - 將 名稱 設定為 SendToLOB |
ReceiveResponse | 接收 | - 將 名稱 設定為 ReceiveResponse - 將 Activate 設定為 False |
SendResponse | 傳送 | - 將 名稱 設定為 SendResponse |
新增埠
請確定您為每個邏輯埠指定下列屬性。 [ 埠 ] 資料行中列出的名稱是協調流程中顯示的埠名稱。
連接埠 | 屬性 |
---|---|
FileIn_AccountAssociate | - 將 識別碼 設定為 FileIn_AccountAssociate - 將 類型 設定為 FileInAccountAssociateType - 將 通訊模式 設定為 單向 - 將 通訊方向 設定為 接收 |
LOBPort_AccountAssociate | - 將 識別碼 設定為 LOBPort_AccountAssociate - 將 類型 設定為 LOBPortAccountAssociateType - 將 通訊模式 設定為 Request-Response - 將 通訊方向 設定為 Send-Receive |
SaveResponse_AccountAssociate | - 將 識別碼 設定為 SaveResponse_AccountAssociate - 將 類型 設定為 SaveResponseAccountAssociateType - 將 通訊模式 設定為 單向 - 設定要傳送的通訊方向 |
指定動作圖形的訊息並連接到埠
下表指定要設定的屬性及其值,以指定動作圖形的訊息,並將其連結至埠。 Shape資料行中列出的名稱是訊息圖形的名稱,如上述協調流程所示。
圖形 | 屬性 |
---|---|
AccountAssociateXML | - 將 訊息 設定為 AccountAssociate_Request - 將 作業 設定為 FileIn_AccountAssociate.Associate.Request |
SendToLOB | - 將 訊息 設定為 AccountAssociate_Request - 將 作業 設定為 LOBPort_AccountAssociate.Associate.Request |
ReceiveResponse | - 將 訊息 設定為 AccountAssociate_Response - 將 作業 設定為 LOBPort_AccountAssociate.Associate.Response |
SendResponse | - 將 訊息 設定為 回應 - 將 作業 設定為 SaveResponse_AccountAssociate.Associate.Request |
指定這些屬性之後,訊息圖形和埠就會連線,而且您的協調流程已完成。
您現在必須建置 BizTalk 解決方案,並將其部署至BizTalk Server。 如需詳細資訊,請參閱 如何從 Visual Studio 建置協調流程 和 將 BizTalk 元件部署至 BizTalk 應用程式。
設定 BizTalk 應用程式
部署 BizTalk 專案之後,您稍早建立的協調流程會列在 [BizTalk Server 管理主控台] 的 [協調流程] 窗格中。 您必須使用 BizTalk Server 管理主控台來設定應用程式。 如需設定應用程式的詳細資訊,請參閱 如何建立應用程式。
設定應用程式牽涉到:
選取應用程式的主機。
將您在協調流程中建立的埠對應至 BizTalk Server 管理主控台中的實體埠。 針對此協調流程,您必須:
定義硬碟上的位置,以及您將卸載要求訊息的對應檔案埠。 BizTalk 協調流程會取用要求訊息,並將其傳送至 Siebel 系統。 您可以針對這四個協調流程使用相同的埠。
定義硬碟上的位置和對應的檔案埠,其中 BizTalk 協調流程會卸載包含 Siebel 系統回應的回應訊息。 您可以針對這四個協調流程使用相同的埠。
定義實體 WCF-Custom 或 WCF-Siebel 傳送埠,以將訊息傳送至 Siebel 系統。 您也必須在傳送埠中指定動作。 如需如何建立埠的資訊,請參閱 手動設定實體埠系結至 Siebel 配接器。 您必須擁有所有四個協調流程的不同埠。
注意
使用取用配接器服務 BizTalk 專案增益集產生架構也會建立系結檔案,其中包含埠的相關資訊,以及要為這些埠設定的動作。 您可以從 BizTalk 管理主控台匯入此系結檔案,以建立輸出呼叫的傳送埠 () 。 如需詳細資訊,請參閱 使用埠系結檔案設定實體埠系結至 Siebel。
啟動應用程式
您必須啟動 BizTalk 應用程式,才能將父商務元件與子商務元件產生關聯。 如需啟動 BizTalk 應用程式的指示,請參閱 啟動 BizTalk 應用程式 或 啟動協調流程。
在此階段,請確定:
要接收協調流程要求訊息的 FILE 接收埠正在執行。
從協調流程接收回應訊息的 FILE 傳送埠正在執行中。
四個 WCF-Custom 或 WCF-Siebel 傳送埠,每一個用於將訊息傳送至 Siebel 系統,都會執行
不同作業的四個 BizTalk 協調流程正在執行
執行作業
您必須將要求訊息卸載至 FILE 接收埠。 要求訊息的架構必須符合您稍早在主題中產生的架構。 如需不同作業之要求訊息之架構的詳細資訊,請參閱 商務元件作業的訊息架構 。 您必須依下列順序卸載要求訊息:
卸載要求訊息,將記錄插入 帳戶 商務元件。 要求訊息會類似于在帳戶商務元件中插入記錄的卸載訊息,主題中的使用 BizTalk Server 和 Siebel 配接器執行商務元件上的作業。 協調流程會取用訊息,並將其傳送至 Siebel 系統。 Siebel 系統的回應會儲存在定義為協調流程一部分的其他 FILE 位置。
卸載要求訊息,將記錄插入 連絡人 商務元件。 要求訊息會類似于在帳戶商務元件中插入記錄的卸載訊息,主題中的使用 BizTalk Server 和 Siebel 配接器執行商務元件上的作業。 協調流程會取用訊息,並將其傳送至 Siebel 系統。 Siebel 系統的回應會儲存在定義為協調流程一部分的其他 FILE 位置。
卸載要求訊息,以在 帳戶 商務元件上執行 ASSOCIATE 作業。 這會根據搜尋運算式和您在輸入 XML 中指定的多重值功能變數名稱,建立父和子商務元件的關聯。 請注意:
ASSOCIATE 作業中的父搜尋運算式必須符合父資料表中的唯一記錄。
ASSOCIATE 作業中的子搜尋運算式必須符合子資料工作表中的唯一記錄。
例如,在帳戶商務元件上執行關聯作業的要求訊息如下:
<Associate xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Operation"> <ViewMode>3</ViewMode> <ParentSearchExpr>[Name] LIKE "SampleName1"</ns0:ParentSearchExpr> <ParentMVGField>Bill To First Name</ns0:ParentMVGField> <ChildSearchExpr>[First Name] LIKE "SampleName2"</ns0:ChildSearchExpr> </Associate>
協調流程會取用訊息,並將其傳送至 Siebel 系統。 Siebel 系統的回應會儲存在定義為協調流程一部分的其他 FILE 位置。 例如,上述要求訊息的回應為:
<?xml version="1.0" encoding="utf-8"?> <AssociateResponse xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Operation"> <AssociateResult> <ChildID xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects">1-8AO09</ChildID> <ParentID xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects">1-8ANZ5</ParentID> </AssociateResult> </AssociateResponse>
卸載要求訊息,以在 帳戶 商務元件上執行QUERY_CONTACT作業。 例如,QUERY_CONTACT作業的要求訊息為:
<Query_Contact xmlns ="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Operation"> <ViewMode>3</ViewMode> <ParentSearchExpr>[Name] LIKE "SampleName1"</ParentSearchExpr> <ParentMVGField>Bill To First Name</ParentMVGField> <ContactQueryInputRecord> <SearchExpr xmlns:ns1="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects">[Id] LIKE '*'</SearchExpr> </ContactQueryInputRecord> </Query_Contact>
協調流程會取用訊息,並將其傳送至 Siebel 系統。 Siebel 系統的回應會儲存在定義為協調流程一部分的其他 FILE 位置。
如需要求訊息架構的詳細資訊,請參閱 商務元件作業的訊息架構 。
可能的例外狀況
如需使用 BizTalk Server 對具有多重值欄位之商務元件執行作業時可能會遇到的例外狀況相關資訊,請參閱例外狀況和錯誤處理。
最佳做法
部署並設定 BizTalk 專案之後,您可以將組態設定匯出至稱為系結檔案的 XML 檔案。 產生系結檔案之後,您可以從檔案匯入組態設定,如此您就不需要為相同的協調流程建立傳送埠、接收埠等。 如需系結檔案的詳細資訊,請參閱 重複使用配接器系結。