Paso 1: Probar el controlador de salida del adaptador de Echo
Tiempo de finalización: 15 minutos
En este paso, probará las tres operaciones de salida proporcionadas por el adaptador de eco. Para ello, usará Visual Studio, agregar referencia del servicio adaptador de Visual Studio Plug-In y código personalizado.
Requisitos previos
Para completar este paso, debe haber completado el Tutorial 1: Desarrollo del adaptador de eco.
Creación de un proyecto de Visual Studio
Inicie Visual Studio.
En Visual Studio, en el menú Archivo , seleccione Nuevo y, a continuación, haga clic en Proyecto.
En el cuadro de diálogo Nuevo proyecto , haga lo siguiente:
Use Para hacer esto Tipos de proyecto Haga clic en Visual C#. Templates (Plantillas [C++]) Haga clic en Aplicación de consola. Nombre Escriba ConsumeEchoAdapter_Outbound. Ubicación Escriba C:\Tutorials. Nombre de solución Escriba ConsumeEchoAdapter_Outbound. Haga clic en OK.
En Visual Studio, en el menú Archivo , haga clic en Guardar todo.
Examinar, buscar y generar el cliente WCF
En el panel Solución de Visual Studio, haga clic con el botón derecho en ConsumeEchoAdapter_Outbound proyecto y, después, elija Agregar referencia de servicio de adaptador para iniciar el complemento Agregar referencia de servicio de adaptador.
En la pantalla Agregar referencia del servicio adaptador , elija un enlace. Para ello, elija echoAdapterBindingV2.
A continuación, configure las propiedades de adaptador y conexión haciendo clic en Configurar.... Se abrirá la pantalla Configurar adaptador .
En la pantalla Configurar adaptador , seleccione la pestaña Propiedades de URI para configurar las propiedades de conexión. Observe que se muestran las categorías personalizadas del adaptador de eco: conexión y formato. En la categoría Formato , cambie EchoInUpperCase a True.
En la pantalla Configurar adaptador , seleccione la pestaña Propiedades de enlace para configurar las propiedades del adaptador. Observe que se muestran las categorías De entrada y Misc personalizadas del adaptador de eco. En la categoría Misc , cambie Recuento a 3.
Haga clic en Aceptar para cerrar la pantalla Configurar adaptador y vuelva a la pantalla Agregar referencia del servicio de adaptador .
A continuación, haga clic en Conectar para conectarse al adaptador de eco (y el sistema hipotético de línea de negocio que admite). Después de unos instantes, el estado de conexión debe cambiar a Conectado y el árbol de categorías (en Seleccionar una categoría) debe rellenarse.
En el árbol de categorías, haga clic en Categoría principal. Esto rellenará la lista de categorías y operaciones disponibles con tres operaciones salientes. No habrá categorías.
Nota
El tipo de contrato predeterminado es Outbound. Los resultados de la categoría coincidirán con este tipo de contrato.
En Categorías y operaciones disponibles, seleccione las tres operaciones. Cuando hay un gran número de operaciones, puede usar la búsqueda para restringir la selección; en este caso, solo hay tres. Haga clic en Agregar para que las operaciones seleccionadas formen parte de la interfaz WCF generada.
Haga clic en Aceptar para generar la interfaz WCF. Esto agregará un archivo de configuración de aplicación (app.config) y un proxy de cliente WCF (EchoAdapterBindingClient.cs) al proyecto.
Haga clic en Archivo en el menú de Visual Studio y elija Guardar todo.
Configuración de la autenticación del adaptador
En el panel Solución de Visual Studio, haga doble clic enapp.config.
Busque el
address
atributo en elendpoint
elemento . Debería tener un aspecto similar al siguiente:<endpoint address="echov2://lobhostname/lobapplication?enableAuthentication=False&echoInUpperCase=True" binding="echoAdapterBindingV2" bindingConfiguration="EchoAdapterBinding" contract="EchoOutboundContract" name="EchoAdapterBinding_EchoOutboundContract" />
Cambie enableAuthentication de False a True , como se muestra a continuación. Esto requerirá que la aplicación que llama pase las credenciales al adaptador.
<endpoint address="echov2://lobhostname/lobapplication?enableAuthentication=True&echoInUpperCase=True" binding="echoAdapterBindingV2" bindingConfiguration="EchoAdapterBinding" contract="EchoOutboundContract" name="EchoAdapterBinding_EchoOutboundContract" />
Para guardar la solución, haga clic en Archivo en el menú de Visual Studio y elija Guardar todo.
Creación de un archivo XML de ejemplo
Inicie una instancia del Bloc de notas. Con el menú Inicio, haga clic en Todos los programas | Accesorios y, a continuación, elija Bloc de notas.
Copie los datos de ejemplo siguientes en el editor del Bloc de notas.
<?xml version="1.0" encoding="utf-16"?> <ns0:greeting xmlns:ns0="echov2://microsoft.adapters.samples.echov2/PreDefinedTypes"> <ns0:address> <ns0:street1>123 Microsoft Way</ns0:street1> <ns0:street2>Building # 4599</ns0:street2> <ns0:city>Redmond</ns0:city> <ns0:state>WA</ns0:state> <ns0:zip>98052</ns0:zip> </ns0:address> <ns0:greetingText>Welcome to Redmond!</ns0:greetingText> </ns0:greeting>
En el menú Bloc de notas, haga clic en Archivo y, a continuación, elija Guardar como.... Escriba "CustomGreetingInstance.xml" para el nombre de archivo y elija Unicode para la codificación y guárdelo en el directorio del proyecto u otra ubicación adecuada. Anote la ruta de acceso completa y el nombre de archivo para referencia posterior.
Cierre el editor de texto cuando el archivo se guarde correctamente.
Prueba del adaptador de eco
En Explorador de soluciones, haga doble clic en el archivo Program.cs.
En el editor de Visual Studio, dentro del método Main , agregue la siguiente línea de código para crear una instancia del cliente WCF generado.
EchoOutboundContractClient client = new EchoOutboundContractClient();
Ahora agregue código que establezca credenciales para el adaptador. Cuando la autenticación está habilitada en el adaptador de eco, comprobará la existencia de un nombre de usuario, pero no comprobará el valor.
// pass client credentials client.ClientCredentials.UserName.UserName = "username";
Continúe agregando código para invocar la operación EchoStrings.
// Invoke EchoStrings() Console.WriteLine("Invoking EchoStrings() method against the adapter..."); string[] response = client.EchoStrings("Bonjour!"); foreach (string data in response) { Console.WriteLine(data); }
Continúe agregando código para invocar la operación EchoGreetings.
// Invoke EchoGreetings() Console.WriteLine("\nInvoking EchoGreetings() method against the adapter..."); microsoft.adapters.samples.echov2.Types.Greeting greeting = new microsoft.adapters.samples.echov2.Types.Greeting(); greeting.id = Guid.NewGuid(); greeting.sentDateTime = DateTime.Now; greeting.greetingText = "Hello World!"; greeting.name = new microsoft.adapters.samples.echov2.Types.Name(); greeting.name.salutation = microsoft.adapters.samples.echov2.Types.Salutation.Miss; greeting.name.firstName = "Jane"; greeting.name.middleName = "Z."; greeting.name.lastName = "Smith"; microsoft.adapters.samples.echov2.Types.Greeting[] greetingArray = client.EchoGreetings(greeting); foreach (microsoft.adapters.samples.echov2.Types.Greeting data in greetingArray) { Console.WriteLine(data.id + " " + data.sentDateTime + " " + data.greetingText + " " + data.name.firstName ); }
Continúe agregando código para invocar la operación EchoCustomGreetingsFromFile.
// Invoke EchoCustomGreetingFromFile() Console.WriteLine("\nInvoking EchoCustomGreetingFromFile() method against the adapter ..."); // Copy the sample data from CustomGreeting-instance.xml file and place in appropriate folder // as specified in the operation parameter microsoft.adapters.samples.echov2.PreDefinedTypes.CustomGreeting // change the Uri to point to the greeting instance xml file you created customGreeting = client.EchoCustomGreetingFromFile(new Uri(@"c:\CustomGreetingInstance.xml")); Console.WriteLine(customGreeting.greetingText + " " + customGreeting.address.city); client.Close(); Console.ReadLine();
En el código de prueba EchoCustomGreetingsFromFile, asegúrese de que el saludo personalizado usa el archivo que creó en un procedimiento anterior. Cambie el código para reflejar la ubicación del archivo.
En Visual Studio, en el menú Archivo , haga clic en Guardar todo.
Ejecute la aplicación. Debería ver un resultado similar al siguiente:
Invocar el método EchoStrings() en el adaptador...
¡Bonjour!
¡Bonjour!
¡Bonjour!
¡Bonjour!
¡Bonjour!
Invocar el método EchoGreetings() en el adaptador...
179665bb-db21-42ac-810e-77ebfa99d460 9/13/2007 3:18:07 PM Hola mundo! Julia
179665bb-db21-42ac-810e-77ebfa99d460 9/13/2007 3:18:07 PM Hola mundo! Julia
179665bb-db21-42ac-810e-77ebfa99d460 9/13/2007 3:18:07 PM Hola mundo! Julia
179665bb-db21-42ac-810e-77ebfa99d460 9/13/2007 3:18:07 PM Hola mundo! Julia
179665bb-db21-42ac-810e-77ebfa99d460 9/13/2007 3:18:07 PM Hola mundo! Julia
Invocar el método EchoCustomGreetingFromFile() en el adaptador ...
¡Bienvenido a Redmond! Redmond
Presione la tecla Entrar para detener el programa.
¿Qué hice?
En este paso, ha creado una aplicación de prueba para las tres operaciones salientes expuestas por el adaptador de eco desarrollado en el Tutorial 1. Para ello, ha creado un proyecto de Visual Studio, ha generado un servicio WCF y ha proporcionado código para hospedar el servicio WCF. Por último, ejecutó la aplicación de prueba.
Pasos siguientes
Para probar la operación de entrada, vaya al paso 2: Probar controlador de entrada del adaptador de eco.
Consulte también
Tutorial 2: Usar el adaptador de Echo desde .NET
Paso 2: Probar el controlador de entrada del adaptador de Echo