共用方式為


使用 WCF 服務模型叫用 Oracle E-Business Suite 中的要求集

Microsoft BizTalk Adapter for Oracle E-Business Suite 可讓您在 Oracle E-Business Suite 中執行要求集。 要求集分成一或多個階段,而每個階段都包含一組報表和並行程式。 如需配接器如何支援要求集的詳細資訊,請參閱 要求集上的作業

WCF 用戶端類別

下表列出為叫用 Oracle E-Business 配接器要求集所產生的 WCF 用戶端名稱。

文物 WCF 用戶端名稱
要求集 RequestSets_[APP_NAME]用戶端

[APP_NAME] = Oracle E-Business Suite 應用程式的實際名稱;例如,SQLAP。

調用請求集的方法簽章

下表顯示要求集的方法簽章。

行動 方法簽章
要求集 公開 <return type><request set name>(參數 1, 參數 2, ...)

例如,下列程式代碼會顯示針對 reqset_singlestage 要求集產生的 WCF 用戶端類別的方法簽章。

備註

這是自定義要求集,可能無法在您的 Oracle E-Business 解決方案實例上使用。

public partial class RequestSets_SQLAPClient : System.ServiceModel.ClientBase<RequestSets_SQLAP>, RequestSets_SQLAP{      
  
    public string REQSTG(  
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetRelClassOptions SetRelClassOptions,  
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetPrintOptions SetPrintOptions,   
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetRepeatOptions SetRepeatOptions,   
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetNlsOptions SetNlsOptions,  
      string StartTime,  
      schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1 set1_set1);  
}  

在此代碼段中, RequestSets_SQLAPClient 是新增配接器服務參考外掛程式所產生的OracleEBSBindingClient.cs WCF 類別的名稱。 REQSTG 是叫用要求集的方法名稱。

建立 WCF 用戶端以叫用要求集

使用 WCF 用戶端在 Oracle E-Business Suite 上執行作業所需的一般動作集,牽涉到 使用 Oracle E-Business Suite 配接器之 WCF 服務模型概觀中所述的一組工作。 本節說明如何建立 WCF 用戶端來叫用 reqset_singlestage 要求集。

建立 WCF 用戶端

  1. 在 Visual Studio 中建立 Visual C# 專案。 針對本主題,建立主控台應用程式。

  2. reqset_singlestage 要求集產生 WCF 用戶端類別。 如需產生 WCF 用戶端類別的詳細資訊,請參閱 產生 WCF 用戶端或 Oracle E-Business Suite 解決方案成品的 WCF 服務合約

    這很重要

    產生 WCF 用戶端類別之前,請確定您已將 EnableBizTalkCompatibilityMode 系結屬性設定為 false。

  3. 在 [方案總管] 中,新增對 Microsoft.Adapters.OracleEBSMicrosoft.ServiceModel.Channels 的參考。

  4. 開啟Program.cs檔案,並新增下列命名空間:

    • Microsoft.Adapters.OracleEBS

    • System.ServiceModel

  5. 開啟Program.cs檔案並建立用戶端,如下列代碼段所述。

    OracleEBSBinding binding = new OracleEBSBinding();  
    EndpointAddress address = new EndpointAddress("oracleebs://ebs_instance_name");  
    RequestSets_SQLAPClient client = new RequestSets_SQLAPClient(binding, address);  
    

    在此代碼段中, RequestSets_SQLAPClient 是定義於 OracleEBSBindingClient.cs 中的 WCF 用戶端。 此檔案是由新增配接器服務參考外掛程式所產生。

    備註

    在此代碼段中,您會在應用程式程式代碼中明確指定系結和端點位址。 您也可以使用應用程式元件檔中的這些值,app.config,也由 [新增配接器服務參考外掛程式] 產生。 如需指定客戶端系結之不同方式的詳細資訊,請參閱 設定 Oracle E-Business Suite 的用戶端系結

  6. 設定客戶端的認證。

    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    
  7. 由於您在 Oracle E-Business Suite 應用程式中叫用要求集,因此您必須設定應用程式內容。 在此範例中,若要設定應用程式內容,您可以指定 OracleUserNameOraclePasswordOracleEBSResponsibilityName 系結屬性。 如需應用程式內容的詳細資訊,請參閱 設定應用程式內容

    binding.OracleUserName = "myOracleEBSUserName";  
    binding.OraclePassword = "myOracleEBSPassword";  
    binding.OracleEBSResponsibilityName = "myOracleEBSResponsibility";  
    
  8. 開啟用戶端,如下列代碼段所述:

    try  
    {  
       Console.WriteLine("Opening Client...");  
       client.Open();  
    }  
    catch (Exception ex)  
    {  
       Console.WriteLine("Exception: " + ex.Message);  
       throw;  
    }  
    
  9. 引發 reqset_singlestage 要求集。

    string RequestID;  
    
    schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1 param =  
        new schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1();  
    
    param.INSPARAMPROG = new schemas.microsoft.com.OracleEBS._2008._05.RequestSetConcurrentProgram.SQLAP.REQSTG.set1.SQLAP1.INSPARAMPROG();  
    param.INSPARAMPROG.p_id = "123";  
    param.INSPARAMPROG.p_name = "MyName";  
    
    try  
    {  
        Console.WriteLine("Invoking the reqset_singlestage request set");  
        RequestID = client.REQSTG(null, null, null, null, null, param);  
        Console.WriteLine("The request ID generated for the request set is : " + RequestID);  
        Console.WriteLine("*****************************************************************");  
        Console.WriteLine("\nHit <RETURN> to end");  
        Console.ReadLine();  
    }  
    catch (Exception ex)  
    {  
        Console.WriteLine("Exception : " + ex);  
        throw;  
    }  
    
  10. 請關閉用戶端程式,如下列程式碼片段所述:

    client.Close();  
    
  11. 建置專案,然後執行它。 應用程式會叫用 reqset_singlestage 要求集,並傳回寫入主控台的要求標識碼。

另請參閱

使用 WCF 服務模型開發 Oracle E-Business Suite 應用程式