在 Oracle E-Business Suite 中叫用要求集
Microsoft BizTalk Adapter for Oracle E-Business Suite 可讓您在 Oracle E-Business Suite 中執行要求集。 要求集分成一或多個階段,而每個階段都包含一組報表和並行程式。 如需配接器如何支援要求集的詳細資訊,請參閱 要求集上的作業。 如需叫用要求集之 SOAP 訊息結構的相關資訊,請參閱 要求集的訊息架構。
必要條件
您必須已完成必要條件中的步驟 ,才能建立 Oracle E-Business Suite 應用程式。
如何在 Oracle E-Business Suite 中叫用要求集
使用 Oracle E-Business 配接器搭配BizTalk Server在 Oracle E-Business Suite 上執行作業,牽涉到建立 Oracle E-Business Suite 應用程式的建置組塊中所述的程式工作。 若要叫用要求集,這些工作包括:
建立 BizTalk 專案,並針對您想要叫用的要求集產生架構。
在 BizTalk 專案中建立訊息,以在 Oracle E-Business Suite 中傳送和接收訊息。
建立協調流程以叫用要求集。
建置和部署 BizTalk 專案。
藉由建立實體傳送和接收埠來設定 BizTalk 應用程式。
啟動 BizTalk 應用程式。
本主題提供執行這些工作的指示。
產生架構
本主題示範如何叫用要求集,方法是從應用程式物件庫應用程式叫用函式安全性報告 (易記名稱) 要求集。 要求集的實際名稱 是FNDRSSUB43。 此要求集可供預設的 Oracle E-Business Suite 應用程式使用。 此要求集會傳回要求識別碼。
因此,在本主題中,我們會為 FNDRSSUB43 要求集產生架構。 如需如何產生架構的詳細資訊,請參閱 在 Visual Studio 中擷取 Oracle E-Business Suite 作業的中繼資料 。
定義訊息和訊息類型
您稍早產生的架構描述協調流程中訊息所需的「類型」。 訊息通常是變數,其類型是由對應的架構所定義。 您現在必須建立協調流程的訊息,並將其連結至您在上一個步驟中產生的架構。
在此協調流程中,您必須建立兩個訊息,一個用來傳送訊息來叫用要求集,另一個則用來接收要求集的回應。
建立訊息並連結至架構
將協調流程新增至 BizTalk 專案。 從 方案總管,以滑鼠右鍵按一下 BizTalk 專案名稱,指向 [新增],然後按一下 [新增專案]。 輸入 BizTalk 協調流程的名稱,然後按一下 [ 新增]。
如果 BizTalk 專案尚未開啟,請開啟 [協調流程檢視] 視窗。 若要這樣做,請按一下 [ 檢視],指向 [其他視窗],然後按一下 [ 協調流程檢視]。
在 [協調流程檢視] 中,以滑鼠右鍵按一下 [ 訊息],然後按一下 [ 新增訊息]。
以滑鼠右鍵按一下新建立的訊息,然後選取 [ 屬性視窗]。
在Message_1的 [屬性] 窗格中,執行下列動作:
使用 作法 識別碼 輸入 Request
訊息類型 從下拉式清單中,展開 [ 架構],然後選取 [RequestSet.OracleEBSBindingRequestSets_FND]。FNDRSSUB43,其中 RequestSet 是您 BizTalk 專案的名稱。 OracleEBSBindingRequestSets 是用來叫用 FNDRSSUB43 要求集的架構。 重複步驟 3 以建立訊息。 在新訊息的 [ 屬性 ] 窗格中,執行下列動作:
使用 作法 回應 RequestSet.OracleEBSBindingRequestSets_FND。FNDRSSUB43Response
設定協調流程
您必須建立 BizTalk 協調流程,才能使用BizTalk Server在 Oracle E-Business Suite 中叫用要求集。 在此協調流程中,您會在定義的接收位置卸載要求訊息。 協調流程會取用此訊息,並將其傳遞至 Oracle E-Business Suite 以叫用 FNDRSSUB43 要求集。 要求集的回應會從 Oracle 接收,並儲存在另一個位置。 叫用要求集的一般協調流程會包含:
傳送和接收圖形以將訊息傳送至 Oracle E-Business Suite 並接收回應。
單向接收埠,用來接收傳送至 Oracle E-Business Suite 的要求訊息。
雙向傳送埠,將要求訊息傳送至 Oracle E-Business Suite 並接收回應。
單向傳送埠,將來自 Oracle E-Business Suite 的回應傳送至資料夾。
叫用要求集的範例協調流程如下所示:
的協調流程
新增訊息圖形
為每個訊息圖形指定下列屬性。 Shape資料行中所列的名稱是上述協調流程中顯示的訊息圖形名稱。
圖形 | 圖形類型 | 屬性 |
---|---|---|
ReceiveMessage | 接收 | - 將 名稱 設定為 ReceiveMessage - 將 Activate 設定為 True |
SendMessage | 傳送 | - 將 [名稱] 設定為 SendMessage |
ReceiveResponse | 接收 | - 將 Name 設定為 ReceiveResponse - 將 Activate 設定為 False |
SendResponse | 傳送 | - 將 [名稱] 設定為 SendResponse |
新增埠
請確定您為每個邏輯埠指定下列屬性。 [ 埠] 資料行中所列的名稱是協調流程中顯示的埠名稱。
連接埠 | 屬性 |
---|---|
MessageIn | - 將 識別碼 設定為 MessageIn - 將 類型 設定為 MessageInType - 將 通訊模式 設定為 單向 - 將 通訊方向 設定為 接收 |
LOBPort | - 將 識別碼 設定為 LOBPort - 將 Type 設定為 LOBPortType - 將 通訊模式 設定為 Request-Response - 將 通訊方向 設定為 Send-Receive |
ResponseOut | - 將 識別碼 設定為 ResponseOut - 將 [類型] 設定為 ResponseOutType - 將 通訊模式 設定為 單向 - 設定要傳送的通訊方向 |
指定動作圖形的訊息並連接到埠
下表指定要設定的屬性及其值,以指定動作圖形的訊息,並將其連結至埠。 Shape資料行中所列的名稱是如上一個協調流程中顯示的訊息圖形名稱。
圖形 | 屬性 |
---|---|
ReceiveMessage | - 將 訊息 設定為 要求 - 將 作業 設定為 MessageIn.RequestSet.Request |
SendMessage | - 將 訊息 設定為 要求 - 將 作業 設定為 LOBPort.RequestSet.Request |
ReceiveResponse | - 將 訊息 設定為 回應 - 將 作業 設定為 LOBPort.RequestSet.Response |
SendResponse | - 將 訊息 設定為 回應 - 將 作業 設定為 ResponseOut.RequestSet.Request |
指定這些屬性之後,訊息圖形和埠會連線,而且您的協調流程已完成。
您現在必須建置 BizTalk 解決方案,然後將其部署至BizTalk Server。 如需詳細資訊,請參閱 建置和執行協調流程。
設定 BizTalk 應用程式
部署 BizTalk 專案之後,您稍早建立的協調流程會列在 BizTalk Server 管理主控台的 [協調流程] 窗格底下。 您必須使用 BizTalk Server 管理主控台來設定應用程式。 如需設定應用程式的詳細資訊,請參閱 逐步解說:部署基本 BizTalk 應用程式。
設定應用程式牽涉到:
選取應用程式的主機。
將您在協調流程中建立的埠對應至 BizTalk Server 管理主控台中的實體埠。 針對此協調流程,您必須:
定義硬碟上的位置,以及您將卸載要求訊息的對應檔案埠。 BizTalk 協調流程會取用要求訊息,並將其傳送至 Oracle E-Business Suite。
定義硬碟上的位置和對應的檔案埠,BizTalk 協調流程將會卸載包含 Oracle E-Business Suite 回應的回應訊息。
定義實體 WCF-Custom 或 WCF-OracleEBS 傳送埠,以將訊息傳送至 Oracle E-Business Suite。 您也必須在傳送埠中指定動作。 如需如何建立傳送埠的資訊,請參閱 手動設定實體埠系結至 Oracle E-Business 配接器。
若要使用 Oracle E-Business 配接器叫用要求集,您必須設定叫用作業的正確應用程式內容。 Oracle E-Business 配接器會提供特定系結屬性,以指定任何作業的應用程式內容。 您必須在用於叫用要求集的 WCF-Custom 或 WCF-OracleEBS 埠上設定這些系結屬性。
如果 ClientCredentialType 系結屬性設定為 Database,則必須指定下列系結屬性來設定應用程式內容。
Binding 屬性 值 OracleUserName 指定 Oracle E-Business Suite 使用者的名稱。 當 Oracle E-Business 配接器連接到 Oracle E-Business Suite 時,不會保留您為 OracleUserName 系結屬性輸入的值大小寫。 使用者名稱會使用 SQL*Plus 的標準規則傳遞至 Oracle E-Business Suite。 不過,如果您想要保留使用者名稱的大小寫,或想要輸入包含特殊字元的使用者名稱,則必須在雙引號內指定值。 OraclePassword Oracle E-Business Suite 使用者的密碼。 當 Oracle E-Business 配接器連接到 Oracle E-Business Suite 時,不會保留您為 OraclePassword 系結 屬性輸入的值大小寫。 密碼會使用 SQL*Plus 的標準規則傳遞至 Oracle E-Business Suite。 不過,如果您想要保留密碼的大小寫,或想要輸入包含特殊字元的密碼,則必須在雙引號內指定值。 OracleEBSResponsibilityName 與 Oracle E-Business Suite 使用者相關聯的責任。 如果 ClientCredentialType 系結屬性設定為 EBusiness,您必須已在建立連線時指定 Oracle E-Business 認證。 在這種情況下,您只能指定 OracleEBSResponsibilityName 系結屬性的值。
如需不同系結屬性的詳細資訊,請參閱 閱讀 BizTalk Adapter for Oracle E-Business Suite 系結屬性 。 如需配接器如何支援設定應用程式內容的詳細資訊,請參閱 設定應用程式內容。
注意
您可以藉由指定系結屬性,或設定 Oracle E-Business 配接器所公開的訊息內容屬性,來設定應用程式內容。 如需如何設定系結屬性的指示,請參閱 設定 Oracle E-Business Suite 的系結屬性。 如需如何使用訊息內容屬性設定應用程式內容的指示,請參閱 在 Oracle E-Business Suite 中使用訊息內容屬性設定應用程式內容。
注意
使用取用配接器服務 BizTalk 專案增益集產生架構也會建立系結檔案,其中包含要針對這些埠設定的埠和動作的相關資訊。 您可以從 BizTalk Server 管理主控台匯入此系結檔案,以建立輸出通話的傳送埠 () ,或針對輸入呼叫) 接收埠 (。 如需詳細資訊,請參閱 使用埠系結檔案設定實體埠系結至 Oracle E-Business Suite。
啟動應用程式
您必須啟動 BizTalk 應用程式,才能叫用要求集。 如需啟動 BizTalk 應用程式的指示,請參閱 如何啟動協調流程。
在這個階段,請確定:
要接收協調流程要求訊息的 FILE 接收埠正在執行。
從協調流程接收回應訊息的 FILE 傳送埠正在執行。
WCF-Custom 或 WCF-OracleEBS 傳送埠,以叫用 FNDRSSUB43 要求集正在執行。
作業的 BizTalk 協調流程正在執行。
執行作業
執行應用程式之後,您必須卸載符合架構的要求訊息,以叫用 FNDRSSUB43 要求集。 例如,叫用 FNDRSSUB43 要求集的要求訊息為:
<FNDRSSUB43 xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSets/FND">
<StartTime></ StartTime>
<All_x0020_Requests_x0020_in_x0020_the_x0020_Set_STAGE10>
<FNDMNNAV xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">
<Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</Responsibility>
<ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>
</ns2:FNDMNNAV>
<ns2:FNDMNMNU xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">
<ns3:Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</ns3:Responsibility>
<ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>
</ns2:FNDMNMNU>
<ns2:FNDMNFUN xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetStage/FND/FNDRSSUB43">
<ns3:Responsibility xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND">System Administrator</ns3:Responsibility>
<ns3:Application xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSetConcurrentProgram/FND/FNDRSSUB43/STAGE10/FND"></ns3:Application>
</ns2:FNDMNFUN>
</ns0:All_x0020_Requests_x0020_in_x0020_the_x0020_Set_STAGE10>
</ns0:FNDRSSUB43>
注意
叫用要求集的要求訊息需要一些選擇性參數,例如 SetRelClassOptions、SetPrintOptions、SetRepeatOptions 和 SetNlsOptions。 此處提供的要求訊息不包含這些選擇性參數。 如需完整要求訊息的相關資訊,包括選擇性參數,請參閱 要求集的訊息架構。
協調流程會取用訊息、將其傳遞至 Oracle E-Business Suite,並接收回應。 回應訊息會儲存在協調流程中指定的其他檔案位置。 FNDRSSUB43要求集的回應如下所示:
<?xml version="1.0" encoding="utf-8"?>
<FNDRSSUB43Response xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/RequestSets/FND">
<FNDRSSUB43Result>2543208</FNDRSSUB43Result>
</FNDRSSUB43Response>
Oracle E-Business Suite 的回應包含要求識別碼。 要求識別碼 '0' 表示要求集上的最終提交作業失敗。 在這種情況下,您可以在要求訊息中指定其他選擇性參數,例如 ContinueOnFail,以找出失敗的原因並進一步偵錯。
最佳做法
部署並設定 BizTalk 專案之後,您可以將組態設定匯出至稱為系結檔案的 XML 檔案。 產生系結檔案之後,您可以從檔案匯入組態設定,因此您不需要為相同的協調流程建立傳送埠和接收埠等專案。 如需系結檔案的詳細資訊,請參閱 使用 Oracle E-Business Suite 重複使用配接器系結。