Configurare un'associazione client per Oracle E-Business Suite
Dopo aver generato la classe client WCF, è possibile creare un client WCF (istanza) e richiamarne i metodi per utilizzare l'adapter Oracle E-Business.
Per creare il client WCF, è necessario specificare un indirizzo endpoint e un'associazione. L'indirizzo dell'endpoint deve contenere un URI di connessione Oracle E-Business Suite valido e l'associazione deve essere un'istanza di un'associazione Oracle E-Business Suite (OracleEBSBinding). Per altre informazioni sull'URI di connessione Oracle E-Business Suite, vedere Creare una connessione a Oracle E-Business Suite. È consigliabile non specificare le credenziali utente come parte dell'URI di connessione. È invece possibile utilizzare la proprietà ClientCredentials del client WCF, come illustrato in questo argomento.
È possibile specificare l'associazione Oracle E-Business Suite e l'indirizzo dell'endpoint nel codice o in un file di configurazione. Quando si usa il plug-in Add Adapter Service Reference di Visual Studio per generare la classe client WCF, viene creato anche un file di configurazione (app.config) per il progetto. Questo file contiene le impostazioni di configurazione che riflettono le proprietà di associazione e le informazioni di connessione (ad eccezione delle credenziali) specificate quando si è connessi a Oracle E-Business Suite con il plug-in Di riferimento del servizio adattatore.
Specifica dell'associazione e dell'indirizzo dell'endpoint nel codice
Il codice seguente illustra come creare un client WCF specificando l'associazione e l'indirizzo dell'endpoint nel codice usando la proprietà ClientCredentials del client WCF.
//Create an Oracle EBS binding and set the binding properties
OracleEBSBinding binding = new OracleEBSBinding();
binding.OracleUserName = "myOracleEBSUser";
binding.OraclePassword = "myOracleEBSPassword";
binding.OracleEBSResponsibilityName = "Responsibility";
binding.OracleEBSOrganizationId = "204";
//Create the client endpoint
EndpointAddress address = new EndpointAddress("oracleebs://<oracleebs_instance_name>/");
//Create the client and specify the credentials
ConcurrentPrograms_ARClient client = new ConcurrentPrograms_ARClient(binding,address);
client.ClientCredentials.UserName.UserName = "myuser";
client.ClientCredentials.UserName.Password = "mypassword";
//Open the client
client.Open();
Specifica dell'associazione e dell'indirizzo dell'endpoint in un file di configurazione
Il codice seguente illustra come creare un client WCF specificando l'indirizzo dell'associazione e dell'endpoint in un file di app.config.
//Create the client by specifying the endpoint name in the app.config. In this case, the binding properties
//must also be specified in the app.config.
ConcurrentPrograms_ARClient client = new ConcurrentPrograms_ARClient("OracleEBSBinding_ConcurrentPrograms_AR");
//Specify the credentials
client.ClientCredentials.UserName.UserName = "myuser";
client.ClientCredentials.UserName.Password = "mypassword";
client.Open();
Il codice XML seguente mostra il file di configurazione creato per il programma simultaneo Dell'interfaccia del cliente dal plug-in Aggiungi riferimento al servizio adapter. Questo file contiene la configurazione dell'endpoint client a cui si fa riferimento nell'esempio precedente.
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.serviceModel>
<bindings>
<oracleEBSBinding>
<binding openTimeout="00:05:00" name="OracleEBSBinding" closeTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" clientCredentialType="Database"
inboundOperationType="Polling" metadataPooling="true" statementCachePurge="false"
statementCacheSize="10" pollWhileDataFound="false" pollingInterval="30"
useOracleConnectionPool="true" minPoolSize="1" maxPoolSize="100"
incrPoolSize="5" decrPoolSize="1" connectionLifetime="0" acceptCredentialsInUri="false"
useAmbientTransaction="true" notifyOnListenerStart="true"
notificationPort="-1" dataFetchSize="65536" longDatatypeColumnSize="32512"
skipNilNodes="true" maxOutputAssociativeArrayElements="32"
enableSafeTyping="false" insertBatchSize="20" useSchemaInNameSpace="true"
enableBizTalkCompatibilityMode="true">
<mlsSettings language="" dateFormat="" dateLanguage="" numericCharacters=""
sort="" territory="" comparison="" currency="" dualCurrency=""
iSOCurrency="" calendar="" lengthSemantics="" nCharConversionException="true"
timeStampFormat="" timeStampTZFormat="" timeZone="" />
</binding>
</oracleEBSBinding>
</bindings>
<client>
<endpoint address="oracleebs://ebs-70-12/" binding="oracleEBSBinding"
bindingConfiguration="OracleEBSBinding" contract="ConcurrentPrograms_AR"
name="OracleEBSBinding_ConcurrentPrograms_AR" />
</client>
</system.serviceModel>
</configuration>
Se un progetto ha più client WCF, nel file di configurazione saranno definite più voci di endpoint client. Ogni voce client WCF avrà un nome univoco in base alla configurazione dell'associazione e all'artefatto oracle E-Business Suite di destinazione. Se ci si connette più volte per creare i client WCF nel progetto, verranno create più voci di configurazione dell'associazione, una per ogni connessione. Queste voci di configurazione dell'associazione verranno denominate nel modo seguente: OracleEBSBinding, OracleEBSBinding1 e così via. Ogni voce dell'endpoint client creata durante una connessione specifica farà riferimento alla voce di associazione creata durante tale connessione.
Vedere anche
Sviluppare applicazioni Oracle E-Business Suite usando il modello di servizio WCF