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
Creare un progetto Visual C# in Visual Studio. Per questo argomento, creare un'applicazione console.
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.
Nella Esplora soluzioni aggiungere un riferimento a
Microsoft.Adapters.OracleEBS
eMicrosoft.ServiceModel.Channels
.Aprire il file Program.cs e aggiungere gli spazi dei nomi seguenti:
Microsoft.Adapters.OracleEBS
System.ServiceModel
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.
Impostare le credenziali per il client.
client.ClientCredentials.UserName.UserName = "myuser"; client.ClientCredentials.UserName.Password = "mypassword";
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";
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; }
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; }
Chiudere il client come descritto nel frammento di codice seguente:
client.Close();
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