次の方法で共有


WCF サービス モデルを使用して Oracle E-Business Suite で要求セットを呼び出す

Microsoft BizTalk Adapter for Oracle E-Business Suite を使用すると、Oracle E-Business Suite で要求セットを実行できます。 要求セットは 1 つ以上のステージに分割され、各ステージには一連のレポートと同時プログラムが含まれます。 アダプターが要求セットをサポートする方法の詳細については、「要求セット に対する操作」を参照してください。

WCF クライアント クラス

Oracle E-Business アダプターによって要求セットを呼び出すための WCF クライアントの名前を次の表に示します。

アーティファクト WCF クライアント名
要求セット RequestSets_[APP_NAME]クライアント

[APP_NAME] = Oracle E-Business Suite アプリケーションの実際の名前。たとえば、SQLAP です。

要求セットを呼び出すためのメソッド シグネチャ

次の表は、要求セットのメソッド シグネチャを示しています。

操作 メソッド シグネチャ
要求セット public <return type><request set name>(param 1, param 2, ...)

例として、次のコードは、 reqset_singlestage 要求セットに対して生成された WCF クライアント クラスのメソッド シグネチャを示しています。

Note

これはカスタム要求セットであり、Oracle E-Business Solution インスタンスでは使用できない場合があります。

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 サービス モデルの概要」で説明されている一連のタスクが含まれます。 このセクションでは、 reqset_singlestage 要求セットを呼び出す WCF クライアントを作成する方法について説明します。

WCF クライアントを作成するには

  1. Visual Studio で Visual C# プロジェクトを作成します。 このトピックでは、コンソール アプリケーションを作成します。

  2. reqset_singlestage要求セットの WCF クライアント クラス 生成します。 WCF クライアント クラスの生成の詳細については、「 Oracle E-Business Suite ソリューション成果物の WCF クライアントまたは WCF サービス コントラクトを生成する」を参照してください。

    重要

    WCF クライアント クラスを生成する前に、 EnableBizTalkCompatibilityMode バインド プロパティを false に設定してください。

  3. ソリューション エクスプローラーで、 と Microsoft.ServiceModel.Channelsへの参照をMicrosoft.Adapters.OracleEBS追加します。

  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 クライアントです。 このファイルは、アダプター サービス参照の追加プラグインによって生成されます。

    Note

    このスニペットでは、アプリケーション コードでバインディングとエンドポイント アドレスを明示的に指定します。 これらの値は、アダプター サービス参照の追加プラグインによって生成されたアプリケーション構成ファイル app.config からも使用できます。 クライアント バインドを指定するさまざまな方法の詳細については、「 Oracle E-Business Suite のクライアント バインドを構成する」を参照してください。

  6. クライアントの資格情報を設定します。

    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    
  7. Oracle E-Business Suite アプリケーションで要求セットを呼び出す場合は、アプリケーション コンテキストを設定する必要があります。 この例では、アプリケーション コンテキストを設定するために、 OracleUserNameOraclePasswordおよび OracleEBSResponsibilityName バインド プロパティを指定します。 アプリケーション コンテキストの詳細については、「アプリケーション コンテキストを 設定する」を参照してください。

    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 要求セットを呼び出し、コンソールに書き込まれる要求 ID を返します。

参照

WCF サービス モデルを使用して Oracle E-Business Suite アプリケーションを開発する