Cómo definir de forma dinámica el URI de un servicio Web utilizado
Cuando se crea un puerto Web para un servicio Web consumido, puede seleccionar un enlace de puerto dinámico. Cuando seleccione un enlace de puerto dinámico, debe definir el URI del servicio Web consumido en tiempo de ejecución. El URI seleccionado debe llamar un servicio Web que tenga el mismo proxy Web que el servico Web utilizado para crear el tipo de puerto Web.
Nota
En este tema se describe cómo definir mediante programación las propiedades de un puerto de envío SOAP dinámico en una orquestación. Sin embargo, se pueden establecer estas propiedades en una orquestación o en un componente de canalización personalizado, sin importar si el puerto de envío es estático o dinámico. Para obtener más información sobre los componentes de canalización personalizados, consulte Desarrollo de componentes de canalización personalizados.
Los enlaces de puerto dinámicos para puertos Web tienen un comportamiento distinto de los enlaces de puerto dinámicos para puertos que no son puertos Web. Cuando seleccione enlaces dinámicos para un puerto que no sea un puerto Web, no podrá utilizar el adaptador de SOAP.
Cuando utilice puertos Web dinámicos para consumir un servicio Web, las propiedades del puerto de envío están establecidas en los valores predeterminados. Algunos de estos valores se establecen internamente y otros valores predeterminados en los valores que se establecen en las páginas de propiedades del controlador de adaptador soap . Puede sobreescribir estos valores en una orquestación cuando se utilizan puertos de envío dinámicos. Para obtener más información, vea Consideraciones al consumir servicios web.
Cambiar dinámicamente el URI de un servicio web consumido
Agregue un puerto web como se describe en Cómo agregar un puerto web. Sin embargo, en lugar de seleccionar el enlace especificar ahora el puerto, seleccione Enlace de puerto dinámico , como se muestra en la ilustración siguiente.
En la orquestación que llama al servicio web consumido, agregue una forma expresión en algún momento antes de la forma Enviar que se ha conectado al puerto web.
En la forma Expresión , agregue una expresión similar a la siguiente:
myWebPort(Microsoft.XLANGs.BaseTypes.Address) = "http://orders/myCompany.asmx";
Nota
Puede recuperar el URI utilizado en el Editor de expresiones de BizTalk desde varias ubicaciones, incluido el mensaje entrante, una base de datos SQL o una aplicación de líneas de negocio.
Modificar dinámicamente las propiedades del puerto de envío
En la forma Construir mensaje que se usa para construir el mensaje web, agregue una forma de asignación de mensajes si aún no está presente.
En la forma Asignación de mensajes, agregue una expresión similar a la siguiente:
myWebMessage(SOAP.UseSSO) = true;
Todas las propiedades del puerto de envío SOAP utilizan el espacio de nombre SOAP.
La siguiente tabla contiene una lista de las propiedades de puerto de envío SOAP que se pueden definir cuando se utilizan puertos Web dinámicos.
Nombre de propiedad | Tipo | Descripción |
---|---|---|
AuthenticationScheme | String | Método de autenticación que se utiliza para llamar el servicio Web. Valor predeterminado: Anónimo Otros valores permitidos: Basic, Digest, NTLM |
Nombre de usuario | String | Nombre de usuario que se especifica para tener acceso al servicio Web de destino. Valor predeterminado: en blanco |
Contraseña | String | Contraseña de usuario que se va a usar para la autenticación con el servidor. Valor predeterminado: en blanco |
ClientCertificate | String | Huella digital de certificado de cliente de Capa de sockets seguros (SSL) Valor predeterminado: en blanco |
UseSSO | Boolean | Indica si este puerto Web utilizará el Inicio de sesión único (SSO). Valor predeterminado: False |
AffiliateApplicationName | String | Nombre de la aplicación de SSO que utilizará este puerto Web para canjear el vale de credenciales de cliente. Valor predeterminado: en blanco |
UseHandlerSetting | Boolean | Indica si este puerto Web utilizará la configuración de proxy HTTP del controlador de envío SOAP. Nota: Si se establece la propiedad de contexto UseProxy , se omite la propiedad de contexto UseHandlerSetting . Valor predeterminado: False |
UseProxy | Boolean | Indica si este puerto Web utilizar un servidor proxy para tener acceso al servicio Web de destino. Nota: Si se establece la propiedad de contexto UseProxy , se omite la propiedad de contexto UseHandlerSetting . Valor predeterminado: False |
ProxyAddress | String | Dirección de proxy HTTP que se utilizará para llamar al servicio Web. Valor predeterminado: recuperado de las propiedades del controlador de envío SOAP. |
ProxyPort | Entero | Puerto del proxy HTTP que se utilizará para llamar al servicio Web. Valor predeterminado: recuperado de las propiedades del controlador de envío SOAP. |
ProxyUsername | String | Nombre de usuario que se va a utilizar para el proxy HTTP. Valor predeterminado: recuperado de las propiedades del controlador de envío SOAP. |
ProxyPassword | String | Contraseña que se va a utilizar para el proxy HTTP. Valor predeterminado: recuperado de las propiedades del controlador de envío SOAP. |
ClientConnectionTimeout | Int32 | Valor de tiempo de espera de la conexión de cliente HTTP. Valor predeterminado: igual que el valor predeterminado ASP.NET tiempo de espera de la conexión HTTP. |
TypeName | String | Especificar el nombre de la clase que contiene el método Web que se va a invocar. Valor predeterminado: en blanco |
MethodName | String | Especificar el método de la clase que se va a invocar. Nota: Para configurar la propiedad MethodName para el puerto de envío SOAP estático mediante programación, debe establecer el nombre del método en [Especificar más adelante] en la pestaña Servicio web del cuadro de diálogo Propiedades de transporte SOAP en BizTalk Server consola de administración. Para obtener más información sobre el cuadro de diálogo Propiedades de transporte SOAP , vea el cuadro de diálogo Propiedades de transporte SOAP, la pestaña Servicio web en la guía de la interfaz de usuario y la referencia del espacio de nombres de la API de desarrolladores. Valor predeterminado: en blanco |
Assemblyname | String | Identifica el tipo .NET y el ensamblado que se va a cargar y a ejecutar. Valor predeterminado: en blanco |
UnknownHeaders | String | Especifica la lista serializada de encabezados SOAP desconocidos. Valor predeterminado: en blanco |
UserDefined | String | Define clases definidas por el usuario. Valor predeterminado: en blanco |
UseSoap12 | Boolean | Especificar que se genere código de proxy que proporcione compatibilidad con el protocolo SOAP 1.2. Si esta propiedad está definida como False, se generará código de proxy compatible con SOAP 1.1. Valor predeterminado: False |
Nota
A excepción de la configuración ClientConnectionTimeout , estos valores solo se pueden establecer dinámicamente cuando se usan enlaces de puerto dinámicos . Son de solo lectura cuando se usa el enlace de puerto Especificar ahora . Puede establecer el valor ClientConnectionTimeout con los enlaces Especificar ahora y Puerto dinámico .
Consulte también
Encabezados SOAP con servicios web consumidos
Creación de puertos web