Konfigurieren einer Clientbindung für die Oracle E-Business Suite
Nachdem Sie die WCF-Clientklasse generiert haben, können Sie einen WCF-Client (instance) erstellen und dessen Methoden aufrufen, um den Oracle E-Business-Adapter zu nutzen.
Zum Erstellen des WCF-Clients müssen Sie eine Endpunktadresse und eine Bindung angeben. Die Endpunktadresse muss einen gültigen Oracle E-Business Suite-Verbindungs-URI enthalten, und die Bindung muss eine instance einer Oracle E-Business Suite-Bindung (OracleEBSBinding) sein. Weitere Informationen zum Oracle E-Business Suite-Verbindungs-URI finden Sie unter Erstellen einer Verbindung mit der Oracle E-Business Suite. Es wird empfohlen, die Benutzeranmeldeinformationen nicht als Teil des Verbindungs-URI anzugeben. Sie können stattdessen die ClientCredentials-Eigenschaft des WCF-Clients verwenden, wie in diesem Thema erläutert.
Sie können die Oracle E-Business Suite-Bindung und die Endpunktadresse in Ihrem Code oder in einer Konfigurationsdatei angeben. Wenn Sie das Visual Studio-Plug-In Add Adapter Service Reference verwenden, um die WCF-Clientklasse zu generieren, wird auch eine Konfigurationsdatei (app.config) für Ihr Projekt erstellt. Diese Datei enthält Konfigurationseinstellungen, die die Bindungseigenschaften und Verbindungsinformationen (mit Ausnahme der Anmeldeinformationen) widerspiegeln, die Sie angegeben haben, als Sie mit dem Add Adapter Service Reference Plug-In eine Verbindung mit der Oracle E-Business Suite hergestellt haben.
Angeben der Bindungs- und Endpunktadresse im Code
Der folgende Code zeigt, wie Sie einen WCF-Client erstellen, indem Sie die Bindungs- und Endpunktadresse im Code mithilfe der ClientCredentials-Eigenschaft des WCF-Clients angeben.
//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();
Angeben der Bindungs- und Endpunktadresse in einer Konfigurationsdatei
Der folgende Code zeigt, wie Sie einen WCF-Client erstellen, indem Sie die Bindungs- und Endpunktadresse in einer app.config-Datei angeben.
//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();
Der folgende XML-Code zeigt die Konfigurationsdatei, die vom Add Adapter Service Reference Plug-In für das gleichzeitige Programm " Customer Interface " erstellt wurde. Diese Datei enthält die Clientendpunktkonfiguration, auf die im vorherigen Beispiel verwiesen wird.
<?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>
Wenn ein Projekt über mehr als einen WCF-Client verfügt, sind mehrere Clientendpunkteinträge in der Konfigurationsdatei definiert. Jeder WCF-Clienteintrag hat einen eindeutigen Namen basierend auf seiner Bindungskonfiguration und dem Oracle E-Business Suite-Zielartefakt. Wenn Sie mehrmals eine Verbindung herstellen, um die WCF-Clients in Ihrem Projekt zu erstellen, werden mehrere Bindungskonfigurationseinträge erstellt, einer für jede Verbindung. Diese Bindungskonfigurationseinträge werden wie folgt benannt: OracleEBSBinding, OracleEBSBinding1 usw. Jeder Clientendpunkteintrag, der während einer bestimmten Verbindung erstellt wurde, verweist auf den Bindungseintrag, der während dieser Verbindung erstellt wurde.
Weitere Informationen
Entwickeln von Oracle E-Business Suite-Anwendungen mithilfe des WCF-Dienstmodells