Configurar un cliente de WCF para un sistema de Siebel
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 Siebel. Para obtener información sobre cómo generar la clase de cliente DE WCF y el código auxiliar para las operaciones que expone el adaptador de Microsoft BizTalk para aplicaciones de siebel eBusiness, vea Generar un cliente WCF o un contrato de servicio WCF para artefactos de la solución Siebel.
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 Siebel válido y el enlace debe ser una instancia de un enlace de Siebel (SiebelBinding). Para obtener más información sobre el URI de conexión de Siebel, vea Conectarse al sistema Siebel en Visual Studio.
Puede especificar el enlace de Siebel 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 al sistema Siebel con el complemento Agregar referencia de servicio de adaptador.
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. Es recomendable especificar las credenciales de Siebel mediante la propiedad ClientCredentials del cliente WCF en lugar de en el URI de conexión proporcionado para la dirección del punto de conexión.
// A WCF client that targets the TimeStamp business service is created
// by using a binding object and endpoint address
SiebelBinding sblBinding = new SiebelBinding();
EndpointAddress sblAddress = new EndpointAddress("siebel://Siebel_server:1234?SiebelObjectManager=obj_mgr&SiebelEnterpriseServer=ent_server&Language=enu");
BusinessServices_TimeStamp_OperationClient client =
new BusinessServices_TimeStamp_OperationClient(sblBinding, sblAddress);
client.ClientCredentials.UserName.UserName = "SADMIN";
client.ClientCredentials.UserName.Password = "SADMIN";
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.
// A WCF client that targets the TimeStamp business service is created
// by specifying the client endpoint information in app.config
BusinessServices_TimeStamp_OperationClient client =
new BusinessServices_TimeStamp_OperationClient("SiebelBinding_BusinessServices_TimeStamp_Operation");
client.ClientCredentials.UserName.UserName = "SADMIN";
client.ClientCredentials.UserName.Password = "SADMIN";
client.Open();
El archivo App.config
En el siguiente XML se muestra el archivo de configuración creado para el servicio empresarial TimeStamp 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>
<siebelBinding>
<binding name="SiebelBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" enableBizTalkCompatibilityMode="false"
enablePerformanceCounters="false" enableConnectionPooling="true"
maxConnectionsPerSystem="5" idleConnectionTimeout="00:01:00"
acceptCredentialsInUri="false" />
</siebelBinding>
</bindings>
<client>
<endpoint address="siebel://Siebel_server:1234?SiebelObjectManager=obj_mgr&SiebelEnterpriseServer=ent_server&Language=enu"
binding="siebelBinding" bindingConfiguration="SiebelBinding"
contract="BusinessServices_TimeStamp_Operation" name="SiebelBinding_BusinessServices_TimeStamp_Operation" />
</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 Siebel de destino; por ejemplo, " SiebelBinding_BusinessServices_TimeStamp_Operation ". 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: SiebelBinding, SiebelBinding1, SiebelBinding2, 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 Siebel mediante el modelo de servicio WCF