Cómo: Publicar un servicio en el registro de UDDI 3.0
Objetivo
En esta sección se muestra cómo usar el sitio del servicio UDDI para publicar un punto de conexión de servicio web que se puede resolver desde dentro de un itinerario con el fin de enrutar un mensaje ESB. Duplicará el servicio PurchaseOrderSubmitOrderService existente publicado actualmente en el registro.
En este tema de procedimientos, completará los pasos siguientes:
Publique un servicio en el registro Universal Description, Discovery, and Integration (UDDI) 3 mediante la herramienta UDDI Publisher.
Pruebe la publicación del servicio mediante una lista de distribución de itinerarios que resuelva el punto de conexión de servicio mediante una resolución UDDI3.
Requisitos previos
Los procedimientos de este tema de procedimientos requieren la finalización de los requisitos previos para las actividades de desarrollo y la ejecución de la herramienta Publicador UDDI (puede instalarla en %ESB Install Folder%\Bin\Microsoft.Practices.ESB.UDDIPublisher.exe).
Pasos
Para crear newPOService en el registro UDDI
En Internet Explorer, vaya al sitio del servicio UDDI (de forma predeterminada, la dirección URL de este es. http://localhost/uddi).
En la página Servicios uddi , haga clic en Publicar.
En el panel Publicar, haga clic con el botón derecho en Microsoft.Practices.ESB y, a continuación, haga clic en Agregar servicio.
En la página siguiente, seleccione Especificar una clave que se va a usar y, a continuación, haga clic en Continuar.
En la página siguiente, haga clic en la partición de clave esb . En el cuadro Sufijo clave , escriba newposervice y, a continuación, haga clic en Continuar.
En la página siguiente, junto a (Nuevo nombre de servicio), haga clic en Editar. Asigne al servicio el nombre NewPOService y, a continuación, haga clic en Actualizar.
Haga clic en Agregar descripción, escriba una descripción para el servicio (por ejemplo, Servicio de ejemplo) y, a continuación, haga clic en Actualizar.
Para agregar un enlace para NewPOService
Haga clic en la pestaña Enlaces y, a continuación, haga clic en Agregar enlace.
Seleccione Especificar una clave que se va a usar y, a continuación, haga clic en Continuar.
En la página siguiente, haga clic en la partición de clave esb . En el cuadro Sufijo de clave, escriba newposervicebinding y, a continuación, haga clic en Continuar.
En Punto de acceso, haga clic en Editar y, a continuación, complete lo siguiente:
En el cuadro Punto de acceso , escriba http://localhost/ESB.CanadianServices/SubmitPOService.asmx.
En la lista desplegable Usar tipo , haga clic en punto de conexión y, a continuación, haga clic en Actualizar.
Para configurar la información de la instancia de enlace
Haga clic en la pestaña Información de instancia y, a continuación, haga clic en Agregar información de instancia.
En el cuadro Buscar nombres tModel que contengan , escriba %esb% y, a continuación, haga clic en Buscar.
Busque y haga clic en el tModel para transporttype.
Nota
Para completar los pasos restantes de este procedimiento, es posible que tenga que cambiar entre la página 1 y la página 2.
En la sección Descripciones , haga clic en Agregar descripción.
En el cuadro Descripción , escriba Tipo de transporte para uso de itinerarios de ESB y, a continuación, haga clic en Actualizar.
Haga clic en la pestaña Detalles de la instancia y, a continuación, haga clic en Editar.
En el cuadro Parámetros de instancia , escriba WCF-BasicHttp y, a continuación, haga clic en Actualizar.
En la sección Descripciones , haga clic en Agregar descripción.
En el cuadro Descripción , escriba Transporte HTTP básico de WCF y, a continuación, haga clic en Actualizar.
En el panel Publicar, en NewPOService, haga clic en http://localhost/esb.canadianservices/submitposervice.asmx.
En la pestaña Información de instancia , haga clic en Agregar información de instancia.
Con los pasos descritos anteriormente, agregue la siguiente información de instancia, según los valores que se muestran en la tabla siguiente.
tModel Descripción Parámetro Descripción de los parámetros microsoft-com:esb:runtimeresolution:messageexchangepattern Patrón de intercambio de mensajes Bidireccional Operación bidireccional microsoft-com:esb:runtimeresolution:cachetimeout Tiempo de espera de caché -1 Actualmente deshabilitado microsoft-com:esb:runtimeresolution:jaxrpcresponse JaxRpcResponse false microsoft-com:esb:runtimeresolution:action Acción de servicio submitOrder Especifica el método de servicio que se va a invocar. microsoft-com:esb:runtimeresolution:targetnamespace Espacio de nombres de servicio http://globalbank.esb.dynamicresolution.com/canadianservices Espacio de nombres de destino
Para configurar la categorización de enlaces
En el panel Publicar, en NewPOService, haga clic en http://localhost/esb.canadianservices/submitposervice.asmx.
En la pestaña Categorías , haga clic en Agregar categoría personalizada.
En el cuadro Buscar , escriba %esb% y, a continuación, haga clic en Buscar.
Busque y haga clic en microsoft-com:esb:runtimeresolution:biztalkapplication tModel.
En el cuadro Nombre de clave , escriba Aplicación de BizTalk.
En el cuadro Valor de clave , escriba Microsoft.Practices.ESB y, a continuación, haga clic en Agregar categoría.
Con los pasos descritos anteriormente, agregue las siguientes categorías personalizadas, según los valores que se muestran en la tabla siguiente.
tModel Nombre de clave Valor de clave microsoft-com:esb:runtimeresolution:portname Nombre del puerto NewPOService microsoft-com:esb:runtimeresolution:transporttype Tipo de transporte WCF-BasicHttp
Para buscar el servicio en el registro UDDI
En Internet Explorer, en la página Servicios uddi , haga clic en Buscar.
Haga clic en la pestaña Servicios.
En el cuadro Nombre del servicio , escriba %PO%y, a continuación, haga clic en Buscar.
En el panel Buscar , en la pestaña Resultados , haga clic en NewPOService.
Nota
Esto confirma que el servicio se publicó correctamente en el registro.
Para crear un modelo de itinerarios para probar la publicación del servicio UDDI
En Visual Studio, abra C:\HowTos\Patterns\Patterns.sln.
En Explorador de soluciones, haga clic con el botón derecho en el proyecto ItineraryLibrary, seleccione Agregar y, a continuación, haga clic en Nuevo itinerario.
En el cuadro de diálogo Agregar nuevo elemento , en el cuadro Nombre , escriba NewBindingKeySearch y, a continuación, haga clic en Agregar.
Para configurar las propiedades del itinerario
En Visual Studio, haga clic en la superficie de diseño de NewBindingKeySearch.itinerary. En el ventana Propiedades NewBindingKeySearch, configure las siguientes propiedades:
En la lista desplegable Is Request Response (Respuesta de solicitud), haga clic en True.
En la lista desplegable Exportador de modelos, haga clic en Exportador de itinerarios XML.
En la sección Configuración de extensor , junto a la propiedad Archivo XML de itinerario , haga clic en el botón de puntos suspensivos (...).
En el cuadro de diálogo Seleccionar archivo XML , escriba C:\HowTos\Itinerarios\NewBindingKeySearch en el cuadro Nombre de archivo y, a continuación, haga clic en Guardar.
Nota
Este paso le permite exportar el itinerario como XML a una ubicación de archivo local. Al exportar un itinerario a una ubicación de archivo local, en lugar de a la base de datos de itinerarios, permite realizar pruebas del itinerario mediante la aplicación cliente de prueba de ESB. Completará este proceso más adelante en este tema de procedimientos.
Para definir la estructura del itinerario
En el Cuadro de herramientas, arrastre un elemento modelo on-Ramp a la superficie de diseño. En el ventana Propiedades OnRamp1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba ReceiveNAOrder.
En la lista desplegable Extender , haga clic en On-Ramp ESB Extender.
En la lista desplegable Aplicación de BizTalk , haga clic en Microsoft.Practices.ESB.
En la lista desplegable Puerto de recepción , haga clic en OnRamp.Itinerary.Response.
En el cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño. En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba TransformNAOrder.
En la lista desplegable Extender del servicio de itinerarios , haga clic en Extender de mensajería.
En la lista desplegable Contenedor , expanda ReceiveNAOrdery, a continuación, haga clic en Controladores de recepción.
En la lista desplegable Nombre del servicio , haga clic en Microsoft.Practices.ESB.Services.Transform.
Haga clic con el botón derecho en la colección Resolver del elemento de modelo TransformNAOrder y, a continuación, haga clic en Agregar nueva resolución. En el ventana Propiedades Resolver1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba NAOrder_to_CNOrder.
En la lista desplegable Implementación del solucionador , haga clic en Extensión de resolución estática.
En la lista desplegable Tipo de transformación, haga clic en GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN.
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo ReceiveNAOrder al elemento de modelo TransformNAOrder .
En el cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño. En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba BindingKeyRoute.
En la lista desplegable Extender del servicio de itinerarios , haga clic en Extender de mensajería.
En la lista desplegable Contenedor , expanda ReceiveNAOrdery, a continuación, haga clic en Controladores de recepción.
En la lista desplegable Nombre de servicio , haga clic en Microsoft.Practices.ESB.Services.Routing.
Haga clic con el botón derecho en la colección Resolver del elemento del modelo BindingKeyRoute y, a continuación, haga clic en Agregar nuevo solucionador. En el ventana Propiedades Resolver1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba BindingKeySearch.
En la lista desplegable Implementación del solucionador , haga clic en Extensión de resolución Uddi3.
En la lista desplegable Solucionador Moniker , haga clic en UDDI3.
Haga clic en la propiedad Clave de enlace y escriba uddi:esb:newposervicebinding. Para buscar el valor de clave, haga clic en el http://localhost/ESB.CanadianServices/SubmitPOService.asmx servicio en UDDI y, a continuación, haga clic en Más detalles.
Haga clic con el botón derecho en el solucionador BindingKeySearch y, a continuación, haga clic en Probar configuración del solucionador.
Nota
Compruebe la salida que se muestra en la ventana Salida.
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo TransformNAOrder al elemento de modelo BindingKeyRoute .
En el Cuadro de herramientas, arrastre un elemento modelo Off-Ramp a la superficie de diseño y colóquelo a la derecha del elemento del modelo BindingKeyRoute . En el ventana Propiedades OffRamp1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba SendCNOrder.
En la lista desplegable Extender , haga clic en Off-Ramp ESB Extender.
En la lista desplegable Aplicación de BizTalk , haga clic en GlobalBank.ESB.
En la lista desplegable Puerto de envío, haga clic en DynamicResolutionSolicitResp.
En el Cuadro de herramientas, arrastre un elemento de modelo de Servicio de itinerarios a la superficie de diseño y colóquelo entre el elemento del modelo BindingKeyRoute y el elemento de modelo SendCNOrder . En el ventana Propiedades ItineraryService1, configure las siguientes propiedades:
Haga clic en la propiedad Name y escriba SendPortFilter.
En la lista desplegable Extender del servicio de itinerarios , haga clic en Extensor de rampa desactivada.
En la lista desplegable Off-Ramp ,expanda SendCNOrdery, a continuación, haga clic en Send Handlers (Enviar controladores).
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento del modelo BindingKeyRoute al elemento de modelo SendPortFilter .
En el cuadro de herramientas, haga clic en Conector. Arrastre una conexión desde el elemento de modelo SendPortFilter al elemento de modelo SendNAOrder .
Para exportar el modelo para su uso con el cliente de prueba de itinerarios
En Visual Studio, haga clic con el botón derecho en la superficie de diseño del itinerario NewBindingKeySearch y, a continuación, haga clic en Exportar modelo.
Nota
La versión XML del itinerario se abre en Visual Studio.
Guarde todos los artefactos del proyecto.
En el Explorador de Windows, vaya a C:\HowTos\Itinerarios y observe la creación del XML del itinerario (NewBindingKeySearch.xml).
Para probar el itinerario
Abra la aplicación de ejemplo Cliente de prueba de itinerarios mediante el acceso directo creado durante los requisitos previos para las actividades de desarrollo (C:\HowTos\ESB.Itinerary.Test.exe - Acceso directo).
En el cliente de prueba de itinerarios, en el grupo Opciones de servicio web , desactive la casilla Usar servicio WCF y, a continuación, active la casilla Servicio bidireccional .
Haga clic en el botón Cargar itinerario .
En el cuadro de diálogo Abrir archivo de itinerario , vaya a C:\HowTos\Itinerarios. Seleccione NewBindingKeySearch.xmly haga clic en Abrir para cargar el itinerario.
Haga clic en Aceptar para borrar el mensaje Itinerario cargado correctamente .
En el cliente de prueba de itinerarios, haga clic en el botón de puntos suspensivos (...) situado junto al cuadro Cargar mensaje .
En el cuadro de diálogo Seleccionar documento XML para cargar , vaya a C:\HowTos. Seleccione NAOrderDoc.xmly haga clic en Abrir para cargar el mensaje de prueba.
Haga clic en el botón Enviar solicitud . Cuando se complete la prueba, haga clic en Aceptar para descartar la confirmación que aparece.
Compruebe que el mensaje de respuesta correcto aparece en el cuadro de texto Resultado del cliente de prueba de Itineray.
Recursos adicionales
Para obtener más información, vea los siguientes temas relacionados: