Configuración de un enlace de cliente para Oracle E-Business Suite
Después de haber generado la clase de cliente WCF, puede crear un cliente WCF (instancia) e invocar sus métodos para consumir el adaptador de Oracle E-Business.
Para crear el cliente WCF, debe especificar una dirección de punto de conexión y un enlace. La dirección del punto de conexión debe contener un URI de conexión de Oracle E-Business Suite válido y el enlace debe ser una instancia de un enlace de Oracle E-Business Suite (OracleEBSBinding). Para obtener más información sobre el URI de conexión de Oracle E-Business Suite, consulte Creación de una conexión con Oracle E-Business Suite. Se recomienda no especificar las credenciales de usuario como parte del URI de conexión. En su lugar, puede usar la propiedad ClientCredentials del cliente WCF, como se explica en este tema.
Puede especificar el enlace de Oracle E-Business Suite y la dirección del punto de conexión en el código o en un archivo de configuración. Cuando se usa el complemento Agregar referencia de servicio de adaptador de Visual Studio para generar la clase de cliente WCF, también se crea un archivo de configuración (app.config) para el proyecto. Este archivo contiene opciones de configuración que reflejan las propiedades de enlace y la información de conexión (excepto las credenciales) que especificó al conectarse a Oracle E-Business Suite con el complemento Add Adapter Service Reference.
Especificar el enlace y la dirección del punto de conexión en el código
En el código siguiente se muestra cómo crear un cliente WCF especificando el enlace y la dirección del punto de conexión en el código mediante la propiedad ClientCredentials del cliente 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();
Especificar el enlace y la dirección del punto de conexión en un archivo de configuración
En el código siguiente se muestra cómo crear un cliente WCF especificando el enlace y la dirección del punto de conexión en un archivo 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();
El siguiente XML muestra el archivo de configuración creado para el programa simultáneo de la interfaz de cliente mediante el complemento Agregar referencia de servicio de adaptador. Este archivo contiene la configuración del punto de conexión de cliente a la que se hace referencia en el ejemplo anterior.
<?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>
Si un proyecto tiene más de un cliente WCF, habrá varias entradas de punto de conexión de cliente definidas en el archivo de configuración. Cada entrada de cliente WCF tendrá un nombre único basado en su configuración de enlace y el artefacto de Oracle E-Business Suite de destino. Si se conecta varias veces para crear los clientes WCF en el proyecto, se crearán varias entradas de configuración de enlace, una para cada conexión. Estas entradas de configuración de enlace se denominarán de la siguiente manera: OracleEBSBinding, OracleEBSBinding1, etc. Cada entrada de punto de conexión de cliente creada durante una conexión específica hará referencia a la entrada de enlace creada durante esa conexión.
Consulte también
Desarrollo de aplicaciones de Oracle E-Business Suite mediante el modelo de servicio WCF