Partager via


Appeler des jeux de requêtes dans Oracle E-Business Suite à l’aide du modèle de service WCF

L’adaptateur Microsoft BizTalk pour Oracle E-Business Suite vous permet d’exécuter des jeux de requêtes dans Oracle E-Business Suite. Les jeux de requêtes sont divisés en une ou plusieurs phases, et chaque étape contient un ensemble de rapports et de programmes simultanés. Pour plus d’informations sur la façon dont l’adaptateur prend en charge les jeux de requêtes, consultez Opérations sur les ensembles de demandes.

Classe de client WCF

Le nom du client WCF généré pour appeler les jeux de requêtes par l’adaptateur Oracle E-Business est répertorié dans le tableau suivant.

Artefact Nom du client WCF
Ensemble de requêtes RequestSets_[APP_NAME]Client

[APP_NAME] = nom réel de l’application Oracle E-Business Suite ; par exemple, SQLAP.

Signature de méthode pour appeler des jeux de requêtes

Le tableau suivant montre la signature de méthode pour les jeux de requêtes.

Opération Signature de méthode
Ensemble de requêtes public <return type><request set name>(param 1, param 2, ...)

Par exemple, le code suivant montre les signatures de méthode pour une classe de client WCF générée pour le jeu de requêtes reqset_singlestage .

Notes

Il s’agit d’un ensemble de requêtes personnalisé qui peut ne pas être disponible sur votre solution Oracle E-Business instance.

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);  
}  

Dans cet extrait de code, RequestSets_SQLAPClient est le nom de la classe WCF dans le fichier OracleEBSBindingClient.cs généré par le plug-in Add Adapter Reference Service. REQSTG est le nom de la méthode permettant d’appeler le jeu de requêtes.

Création d’un client WCF pour appeler des jeux de demandes

L’ensemble générique d’actions requis pour effectuer une opération sur Oracle E-Business Suite à l’aide d’un client WCF implique un ensemble de tâches décrites dans Vue d’ensemble du modèle de service WCF avec l’adaptateur Oracle E-Business Suite. Cette section explique comment créer un client WCF pour appeler le jeu de requêtes reqset_singlestage .

Pour créer un client WCF

  1. Créez un projet Visual C# dans Visual Studio. Pour cette rubrique, créez une application console.

  2. Générez la classe de client WCF pour le jeu de requêtes reqset_singlestage . Pour plus d’informations sur la génération d’une classe de client WCF, consultez Générer un client WCF ou un contrat de service WCF pour les artefacts de solution Oracle E-Business Suite.

    Important

    Avant de générer la classe de client WCF, veillez à définir la propriété de liaison EnableBizTalkCompatibilityMode sur false.

  3. Dans le Explorateur de solutions, ajoutez une référence à Microsoft.Adapters.OracleEBS et Microsoft.ServiceModel.Channels.

  4. Ouvrez le fichier Program.cs et ajoutez les espaces de noms suivants :

    • Microsoft.Adapters.OracleEBS

    • System.ServiceModel

  5. Ouvrez le fichier Program.cs et créez un client comme décrit dans l’extrait de code ci-dessous.

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

    Dans cet extrait de code, RequestSets_SQLAPClient est le client WCF défini dans OracleEBSBindingClient.cs. Ce fichier est généré par le plug-in Add Adapter Service Reference.

    Notes

    Dans cet extrait de code, vous spécifiez explicitement la liaison et l’adresse de point de terminaison dans le code de votre application. Vous pouvez également utiliser ces valeurs à partir du fichier de configuration de l’application, app.config, également généré par le plug-in Add Adapter Service Reference. Pour plus d’informations sur les différentes façons de spécifier la liaison de client, consultez Configurer une liaison cliente pour Oracle E-Business Suite.

  6. Définissez les informations d’identification du client.

    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    
  7. Étant donné que vous appelez des ensembles de demandes dans une application Oracle E-Business Suite, vous devez définir le contexte de l’application. Dans cet exemple, pour définir le contexte de l’application, vous spécifiez les propriétés de liaison OracleUserName, OraclePassword et OracleEBSResponsibilityName . Pour plus d’informations sur le contexte de l’application, consultez Définir le contexte de l’application.

    binding.OracleUserName = "myOracleEBSUserName";  
    binding.OraclePassword = "myOracleEBSPassword";  
    binding.OracleEBSResponsibilityName = "myOracleEBSResponsibility";  
    
  8. Ouvrez le client comme décrit dans l’extrait de code ci-dessous :

    try  
    {  
       Console.WriteLine("Opening Client...");  
       client.Open();  
    }  
    catch (Exception ex)  
    {  
       Console.WriteLine("Exception: " + ex.Message);  
       throw;  
    }  
    
  9. Appelez le jeu de requêtes 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. Fermez le client comme décrit dans l’extrait de code ci-dessous :

    client.Close();  
    
  11. Générez le projet, puis exécutez-le. L’application appelle le jeu de requêtes reqset_singlestage et retourne un ID de requête, qui est écrit dans la console.

Voir aussi

Développer des applications Oracle E-Business Suite à l’aide du modèle de service WCF