使用 BizTalk Server 和 Siebel 配接器在商務元件上執行作業
Siebel 挑選清單欄位類型構成可能值的集合,用戶端可能會指定要傳遞至 Siebel 系統的特定值。 換句話說,挑選清單欄位包含欄位的已接受值清單。 如需 picklist 及其類型的詳細資訊,請參閱 Siebel 檔。 如需 Siebel 配接器如何使用挑選清單欄位支援商務元件作業的詳細資訊,請參閱 Siebel 中的商務元件作業。
當您為包含靜態限定挑選清單欄位的商務元件產生中繼資料 (一種挑選清單) 時,挑選清單的接受值也會發佈為中繼資料的一部分。 如果您要將值插入挑選清單欄位,您必須指定中繼資料中發佈的值。
如何使用 Picklist 欄位對商務元件執行作業?
使用 Siebel 配接器搭配BizTalk Server在 Siebel 系統上執行作業,牽涉到使用 Siebel 配接器建立 BizTalk 應用程式的建置組塊中所述的程式工作。
若要使用挑選清單欄位完成商務元件上的作業,這些工作如下:
建立 BizTalk 專案並產生架構,以在包含挑選清單欄位的商務元件上執行作業。
在 BizTalk 專案中建立訊息,以從 Siebel 系統傳送和接收訊息。
建立協調流程以叫用 Siebel 系統中的作業。
建置和部署 BizTalk 專案。
藉由建立實體傳送和接收埠來設定 BizTalk 應用程式。
啟動 BizTalk 應用程式。
本主題提供執行這些工作的指示。
以本主題為基礎的範例
根據本主題的範例 SiebelPicklist 也隨附 BizTalk 配接器套件。 如需詳細資訊,請參閱 Siebel 配接器的範例。
產生架構
在本主題中,為了示範如何使用挑選清單欄位叫用商務元件上的作業,我們將針對帳戶商務元件的插入作業產生架構。 帳戶商務元件具有靜態挑選清單問卷問卷類型。
如需如何產生架構的詳細資訊,請參閱 在 Visual Studio 中擷取 Siebel 作業的中繼資料 。
當您為 帳戶 商務元件產生 Insert 作業的中繼資料時,您會取得個別的 .xsd 檔案,其中包含挑選清單欄位及其可能的值。 請注意,.xsd 只包含靜態挑選清單的值,包括 問卷類型。
定義訊息和訊息類型
您稍早產生的架構描述協調流程中訊息所需的「類型」。 訊息通常是變數,其類型是由對應的架構所定義。 您必須將您在第一個步驟中產生的架構連結到 BizTalk 專案的協調流程檢視中的訊息。
針對本主題,您必須建立兩個訊息,一個傳送要求給 Siebel 系統,另一個則接收回應。
執行下列步驟來建立訊息,並將其連結至架構:
建立訊息並連結至架構
如果尚未開啟,請開啟協調流程檢視 BizTalk 專案。 按一下 [ 檢視],指向 [其他 Windows],然後按一下 [ 協調流程檢視]。
在 [ 協調流程檢視]中,以滑鼠右鍵按一下 [ 訊息],然後按一下 [ 新增訊息]。
以滑鼠右鍵按一下新建立的訊息,然後選取 [ 屬性視窗]。
在Message_1的 [屬性]窗格中,執行下列動作:
使用 作法 識別碼 輸入 要求。 訊息類型 從下拉式清單中展開 [ 架構],然後選取 [SiebelPicklist.SiebelBindingSchema.Insert],其中 SiebelPicklist 是您 BizTalk 專案的名稱。 SiebelBindingSchema是用來叫用帳戶商務元件上插入作業的架構。 重複上一個步驟以建立新的訊息。 在新訊息的 [ 屬性] 窗格中,執行下列動作:
使用 作法 識別碼 輸入 回應。 訊息類型 從下拉式清單中展開 [ 架構],然後選取 [SiebelPicklist.SiebelBindingSchema.InsertResponse]。
設定協調流程
您必須建立 BizTalk 協調流程,才能使用BizTalk Server搭配挑選清單欄位在 Siebel 商務元件上執行插入作業。 在此協調流程中,您會在定義的接收位置卸載要求訊息。 Siebel 配接器會取用此訊息,並將其傳遞至 Siebel 系統。 Siebel 系統的回應會儲存到另一個位置。 在 Siebel 商務元件上執行作業的一般協調流程會包含:
傳送和接收圖形,以將訊息傳送至 Siebel 並接收回應。
單向接收埠,可接收傳送至 Siebel 的要求訊息。
雙向傳送埠,將要求訊息傳送至 Siebel 並接收回應。
單向傳送埠,將來自 Siebel 的回應傳送至資料夾。
帳戶商務元件上插入作業的範例協調流程如下所示:
插入的協調流程
新增訊息圖形
請確定您為每個訊息圖形指定下列屬性。 Shape資料行中列出的名稱是訊息圖形的名稱,如上述協調流程所示。
圖形 | 圖形類型 | 屬性 |
---|---|---|
ReceiveXML | 接收 | - 將 名稱 設定為 ReceiveXML - 將 Activate 設定為 True |
SendToLOB | 傳送 | - 將 名稱 設定為 SendToLOB |
ReceiveResponse | 接收 | - 將 名稱 設定為 ReceiveResponse - 將 Activate 設定為 False |
SendResponse | 傳送 | - 將 名稱 設定為 SendResponse |
新增埠
請確定您為每個邏輯埠指定下列屬性。 [ 埠 ] 資料行中列出的名稱是協調流程中顯示的埠名稱。
連接埠 | 屬性 |
---|---|
FileIn | - 將 識別碼 設定為 FileIn - 將 類型 設定為 FileInType - 將 通訊模式 設定為 單向 - 將 通訊方向 設定為 接收 |
LOBPort | - 將 識別碼 設定為 LOBPort - 將 類型 設定為 LOBPortType - 將 通訊模式 設定為 Request-Response - 將 通訊方向 設定為 Send-Receive |
SaveResponse | - 將 識別碼 設定為 SaveResponse - 將 類型 設定為 SaveResponseType - 將 通訊模式 設定為 單向 - 設定要傳送的通訊方向 |
指定動作圖形的訊息並連接到埠
下表指定要設定的屬性及其值,以指定動作圖形的訊息,並將其連結至埠。 Shape資料行中所列的名稱是上述協調流程中顯示的訊息圖形名稱。
圖形 | 屬性 |
---|---|
ReceiveXml | - 將 訊息 設定為 要求 - 將 作業 設定為 FileIn.Picklist.Request |
SendToLOB | - 將 訊息 設定為 要求 - 將 作業 設定為 LOBPort.Picklist.Request |
ReceiveResponse | - 將 訊息 設定為 回應 - 將 作業 設定為 LOBPort.Picklist.Response |
SendResponse | - 將 訊息 設定為 回應 - 將 作業 設定為 SaveResponse.Picklist.Request |
指定這些屬性之後,訊息圖形和埠會連線,而且您的協調流程已完成。
您現在必須建置 BizTalk 解決方案,並將其部署至BizTalk Server。 如需詳細資訊,請參閱 How to Build Orchestrations and Deploying BizTalk Assemblies from Visual Studio into a BizTalk Application。
設定 BizTalk 應用程式
部署 BizTalk 專案之後,您稍早建立的協調流程會列在 BizTalk Server 管理主控台的 [協調流程] 窗格底下。 您必須使用 BizTalk Server 管理主控台來設定應用程式。 如需設定應用程式的詳細資訊,請參閱 如何建立應用程式。
設定應用程式牽涉到:
選取應用程式的主機。
將您在協調流程中建立的埠對應至 BizTalk Server 管理主控台中的實體埠。 針對此協調流程,您必須:
定義硬碟上的位置,以及您將卸載要求訊息的對應檔案埠。 BizTalk 協調流程會取用要求訊息,並將其傳送至 Siebel 系統。
定義硬碟上的位置和對應的檔案埠,BizTalk 協調流程將會卸載包含 Siebel 系統回應的回應訊息。
定義實體 WCF-Custom 或 WCF-Siebel 傳送埠,以將訊息傳送至 Siebel 系統。 您也必須在傳送埠中指定動作。 如需如何建立埠的資訊,請參閱 手動設定實體埠系結至 Siebel 配接器。
注意
使用取用配接器服務 BizTalk 專案增益集產生架構也會建立系結檔案,其中包含要針對這些埠設定的埠和動作的相關資訊。 您可以從 BizTalk 管理主控台匯入此系結檔案,以建立輸出呼叫的傳送埠 () 。 如需詳細資訊,請參閱 使用埠系結檔案設定實體埠系結至 siebel。
啟動應用程式
您必須啟動 BizTalk 應用程式,才能在 Siebel 中的帳戶商務元件上執行插入作業。 如需啟動 BizTalk 應用程式的指示,請參閱 啟動 BizTalk 應用程式 或 啟動協調流程。
在這個階段,請確定:
要接收協調流程要求訊息的 FILE 接收埠正在執行。
從協調流程接收回應訊息的 FILE 傳送埠正在執行。
WCF-Custom 或 WCF-Siebel 傳送埠以將訊息傳送至 Siebel 系統正在執行中
作業的 BizTalk 協調流程正在執行
執行作業
您必須將要求訊息卸載至 FILE 接收位置。 要求訊息的架構必須符合您稍早在本主題中產生的架構。 如需要求訊息架構的詳細資訊,請參閱 商務元件作業的訊息架構 。
若要將值插入挑選清單欄位,請查看產生的架構,以判斷挑選清單可接受的值清單。 請確定要求訊息有元素,以將值插入至 picklist 欄位。 例如,要求訊息必須包含下列元素,才能將值插入 問卷類型 挑選清單。
<Survey_x0020_Type>1</Survey_x0020_Type>
在這裡,「1」 是問卷類型挑選清單可接受的值。
包含 picklist 參數的範例要求訊息如下:
<Insert xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Operation">
<ArrayOfAccountInsertRecord>
<AccountInsertRecord xmlns="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects">
<Currency_x0020_Code>usd</Currency_x0020_Code>
<Current_x0020_Volume>9</Current_x0020_Volume>
<Customer_x0020_Account_x0020_Group>Sold-To Party</Customer_x0020_Account_x0020_Group>
<Location>Location_1</Location>
<Main_x0020_Phone_x0020_Number>4256543212</Main_x0020_Phone_x0020_Number>
<Name>Name_Surname</Name>
<Party_x0020_Name>test_party</Party_x0020_Name>
<Primary_x0020_Address_x0020_Id>1212 street</Primary_x0020_Address_x0020_Id>
<Survey_x0020_Type>1</Survey_x0020_Type>
</AccountInsertRecord>
</ArrayOfAccountInsertRecord>
</Insert>
協調流程會取用要求訊息,並將其傳遞至 Siebel 系統。 Siebel 系統的回應會儲存在定義為協調流程一部分的其他 FILE 位置。
注意
您也可以嘗試為挑選清單插入不正確值。 在此情況下,您必須取得 TargetSystemException
。
可能的例外狀況
如需使用 BizTalk Server 在商務元件上執行作業時可能會遇到的例外狀況相關資訊,請參閱使用 Siebel 配接器執行例外狀況和錯誤處理。
最佳做法
部署並設定 BizTalk 專案之後,您可以將組態設定匯出至稱為系結檔案的 XML 檔案。 產生系結檔案之後,您可以從檔案匯入組態設定,如此就不需要為相同的協調流程建立傳送埠、接收埠等。 如需系結檔案的詳細資訊,請參閱 在 Siebel 配接器中重複使用配接器系結。