Compartir vía


Asignación de orquestaciones a servicios web

Una orquestación puede tener varios puertos de recepción. Mediante el Asistente para publicar servicios Web de BizTalk, se seleccionan los puertos de recepción para publicarlos como servicios Web. El asistente crea un servicio Web (.archivo asmx) para cada puerto de recepción. El asistente también puede crear un servicio Web para todos los puertos de recepción sin son del mismo tipo (unidireccionales o de solicitud-respuesta). Las operaciones se convierten en llamadas de función. Cada operación del puerto de recepción se convierte en un método Web. Las operaciones de solicitud se convierten en parámetros de entrada. Las operaciones de respuesta se convierten en tipos de devolución.

Si las operaciones de solicitud y respuesta son del mismo tipo de mensaje web, el parámetro de entrada se convierte en una referencia y el tipo de valor devuelto es void. Los clientes Web ASP.NET pueden cambiar la firma del método Web mediante la combinación de parámetros de entrada y salida del mismo tipo. Por ejemplo, un cliente web de ASP.NET puede cambiar un método web de BizTalk de la cadena myService(string part) a void myService(ref string part).

Los tipos de mensaje de operación definen las firmas de los métodos Web. Cada parte del tipo de mensaje representa un parámetro del método Web.

Nombres de partes de tipos de mensajes y espacio de nombres de destino

Los esquemas de documento y las clases definidas por el usuario con XmlRootAttribute especificados son elementos de tipo de mensaje que tienen espacios de nombres de destino definidos. Los esquemas EDI, las clases definidas por el usuario sin xmlRootAttribute especificados y los tipos integrados, como System.String , son elementos de tipo de mensaje sin espacios de nombres de destino definidos.

Si el nombre de parte de tipo de mensaje tiene un Nombre de parámetro utilizado
Espacio de nombres de destino definido Nombre de elemento raíz
Ningún espacio de nombres de destino definido Nombre de parte de tipo de mensaje

Nota

Cuando se usa un tipo de mensaje de varias partes para el mensaje de respuesta, el Asistente para publicar servicios Web de BizTalk usa la primera parte para el valor de devolución y las demás partes como parámetros de salida.

Orquestaciones con varias operaciones

Si la orquestación tiene varias operaciones, debería diseñarla para que tenga un puerto de recepción en lugar de varios. Este diseño impide que el Asistente para publicación de servicios web de BizTalk cree varios archivos de servicio web (.asmx) y solo funciona cuando todas las operaciones tienen el mismo patrón de llamada: todas las operaciones unidireccionales o todas las operaciones de solicitud-respuesta. Un puerto único de recepción no puede contener operaciones unidireccionales y de solicitud-respuesta al mismo tiempo.

Nota

El Asistente para publicar servicios Web de BizTalk muestra los puertos de recepción públicos, que son tipos de puertos con un modificador de tipo público. Sólo se pueden publicar puertos públicos como servicios Web. El tipo de puerto predeterminado es interno.

Nota

Si el puerto de recepción se define como unidireccional, el tipo de respuesta del método web es void y no se devuelve información al cliente web. Las excepciones que inicia el adaptador de SOAP o una orquestación no se devuelven al cliente Web.

Convenciones de nomenclatura de servicios Web para orquestaciones publicadas

El Asistente para publicación de servicios web de BizTalk genera nombres de archivo de servicio web (.asmx) basados en el espacio de nombres de orquestaciones, seguido de un carácter de subrayado (), seguido del nombre de tipo, seguido de un carácter de subrayado (\) y seguido del nombre del puerto de recepción. Un carácter de subrayado (_) sustituye cualquier parte que contenga puntos finales. El nombre del servicio Web siempre tiene el nombre del puerto agregado.

En la tabla siguiente se muestra cómo el Asistente para publicar servicios Web de BizTalk genera nombres de servicios Web.

Orquestaciones con puertos Web Nombre del servicio Web generado
Una orquestación con un puerto Web orchestration1_port1.asmx
Una orquestación con dos puertos Web orchestration1_port1.asmx y orchestration1_port2.asmx
Dos orquestaciones con un puerto Web cada uno orchestration1_port1.asmx y orchestration2_port2.asmx

Consulte también

Publicación de una orquestación como un servicio web
Cómo usar el Asistente para publicación de servicios web de BizTalk para publicar una orquestación como servicio web