Condividi tramite


Richiamare i set di richieste in Oracle E-Business Suite usando il modello di servizio WCF

L'adapter Microsoft BizTalk per Oracle E-Business Suite consente di eseguire set di richieste in Oracle E-Business Suite. I set di richieste sono suddivisi in una o più fasi e ogni fase contiene un set di report e programmi simultanei. Per altre informazioni sul modo in cui l'adattatore supporta i set di richieste, vedere Operazioni sui set di richieste.

Classe client WCF

Il nome del client WCF generato per richiamare i set di richieste dall'adapter Oracle E-Business è elencato nella tabella seguente.

Elemento Nome client WCF
Set di richieste RequestSets_[APP_NAME]Client

[APP_NAME] = Nome effettivo dell'applicazione Oracle E-Business Suite; ad esempio SQLAP.

Firma del metodo per richiamare i set di richieste

Nella tabella seguente viene illustrata la firma del metodo per i set di richieste.

Operazione Firma del metodo
Set di richieste public <return type><request set name>(param 1, param 2, ...)

Ad esempio, il codice seguente mostra le firme del metodo per una classe client WCF generata per il set di richieste reqset_singlestage .

Nota

Si tratta di un set di richieste personalizzato e potrebbe non essere disponibile nell'istanza della soluzione 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);  
}  

In questo frammento di codice RequestSets_SQLAPClient è il nome della classe WCF nel plug-in OracleEBSBindingClient.cs generato dal plug-in Aggiungi riferimento al servizio adapter. REQSTG è il nome del metodo per richiamare il set di richieste.

Creazione di un client WCF per richiamare i set di richieste

Il set generico di azioni necessarie per eseguire un'operazione su Oracle E-Business Suite tramite un client WCF prevede un set di attività descritte in Panoramica del modello di servizio WCF con l'adapter Oracle E-Business Suite. Questa sezione descrive come creare un client WCF per richiamare il set di richieste reqset_singlestage .

Per creare un client WCF

  1. Creare un progetto Visual C# in Visual Studio. Per questo argomento, creare un'applicazione console.

  2. Generare la classe client WCF per il set di richieste reqset_singlestage . Per altre informazioni sulla generazione di una classe client WCF, vedere Generare un client WCF o un contratto di servizio WCF per gli artefatti della soluzione Oracle E-Business Suite.

    Importante

    Prima di generare la classe client WCF, assicurarsi di impostare la proprietà di associazione EnableBizTalkCompatibilityMode su false.

  3. Nella Esplora soluzioni aggiungere un riferimento a Microsoft.Adapters.OracleEBS e Microsoft.ServiceModel.Channels.

  4. Aprire il file Program.cs e aggiungere gli spazi dei nomi seguenti:

    • Microsoft.Adapters.OracleEBS

    • System.ServiceModel

  5. Aprire il file Program.cs e creare un client come descritto nel frammento di codice seguente.

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

    In questo frammento di RequestSets_SQLAPClient codice è il client WCF definito in OracleEBSBindingClient.cs. Questo file viene generato dal plug-in Aggiungi riferimento al servizio adapter.

    Nota

    In questo frammento di codice si specifica in modo esplicito l'associazione e l'indirizzo dell'endpoint nel codice dell'applicazione. È anche possibile usare questi valori dal file di configurazione dell'applicazione, app.config, generati anche dal plug-in Aggiungi riferimento al servizio adapter. Per altre informazioni sui diversi modi per specificare l'associazione client, vedere Configurare un'associazione client per Oracle E-Business Suite.

  6. Impostare le credenziali per il client.

    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    
  7. Poiché si richiamano set di richieste in un'applicazione Oracle E-Business Suite, è necessario impostare il contesto dell'applicazione. In questo esempio, per impostare il contesto dell'applicazione, specificare le proprietà di associazione OracleUserName, OraclePassword e OracleEBSResponsibilityName . Per altre informazioni sul contesto dell'applicazione, vedere Impostare il contesto dell'applicazione.

    binding.OracleUserName = "myOracleEBSUserName";  
    binding.OraclePassword = "myOracleEBSPassword";  
    binding.OracleEBSResponsibilityName = "myOracleEBSResponsibility";  
    
  8. Aprire il client come descritto nel frammento di codice seguente:

    try  
    {  
       Console.WriteLine("Opening Client...");  
       client.Open();  
    }  
    catch (Exception ex)  
    {  
       Console.WriteLine("Exception: " + ex.Message);  
       throw;  
    }  
    
  9. Richiamare il set di richieste 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. Chiudere il client come descritto nel frammento di codice seguente:

    client.Close();  
    
  11. Compilare il progetto ed eseguirlo. L'applicazione richiama il set di richieste reqset_singlestage e restituisce un ID richiesta, scritto nella console.

Vedere anche

Sviluppare applicazioni Oracle E-Business Suite usando il modello di servizio WCF