Compartir a través de


Configurar puertos de envío dinámico mediante el uso de propiedades de contexto de adaptadores de WCF

Puede configurar puertos de envío dinámico para adaptadores de WCF. Es posible que el URI, la acción y el enlace se determinen a partir de una propiedad en un mensaje entrante y, a continuación, se especifiquen en la forma Expresión , como se muestra en el siguiente adaptador de WCF-NetTcp:

MessageOut=MessageIn;  
MessageOut(WCF.Action)="http://tempuri.org/IReceiveMessage/ReceiveMessage";  
MessageOut(WCF.SecurityMode)="Transport";  
MessageOut(WCF.TransportClientCredentialType)="Windows";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address)="net.tcp://localhost:8001/netTcp";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-NetTcp";  

En el código siguiente se muestra un ejemplo de cómo especificar las propiedades de contexto de WCF en la forma Expresión para un adaptador de WCF-Custom:

MessageOut=MessageIn;  
MessageOut(WCF.BindingType)="customBinding";  
MessageOut(WCF.Action)="http://tempuri.org/IReceiveMessage/ReceiveMessage";  
MessageOut(WCF.BindingConfiguration)=@"<binding name=""customBinding""><binaryMessageEncoding /><tcpTransport /></binding>";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.Address)="net.tcp://localhost:8001/customNetTcp";  
DynamicSendPort(Microsoft.XLANGs.BaseTypes.TransportType)="WCF-Custom";  

Al especificar propiedades de contexto de WCF, debe tenerse en cuenta lo siguiente:

  • Hay direcciones que pueden asignarse a diversos adaptadores. Por ejemplo, una dirección que empieza por http:// o https:// puede controlarla el adaptador de HTTP, así como los adaptadores WCF-BasicHttp, WCF-WsHttp o WCF-Custom. Para ver otro ejemplo, en el código de ejemplo expuesto anteriormente, ambos usan la dirección que empieza por net.tcp://, y dado que el segundo código de ejemplo usa el enlace personalizado, el adaptador de WCF-Custom debe usarse para controlar la dirección. Por lo tanto, para identificar el adaptador correcto, debe configurar el campo opcional Microsoft.XLANGs.BaseTypes.TransportType en una forma expresión con el adaptador que desea usar.

    Nota

    Si la dirección comienza por http:// o https://, y si no especifica el campo Microsoft.XLANGs.BaseTypes.TransportType , el motor de BizTalk usará el adaptador HTTP.

  • WCF. BindingType identifica el enlace por nombre. Puede tener uno de los valores siguientes:

    • basicHttpBinding

    • customBinding

    • netMsmqBinding

    • netNamedPipeBinding

    • netTcpBinding

    • wsFederationHttpBinding

    • wsHttpBinding

      La lista anterior puede ampliarse. Por ejemplo, puede agregar su propio enlace, como FtpBinding.

  • WCF. BindingConfiguration especifica la configuración de enlace para el tipo de enlace. Toma cualquier enlace registrado en el archivo de configuración del equipo. También toma la configuración XML en el mismo formato usado en la configuración del enlace del archivo de configuración WCF.

  • Puede que tenga que especificar propiedades de WCF adicionales. Puede escribir WCF en el Editor de expresiones y la característica IntelliSense debe enumerar todas las propiedades de contexto disponibles. Para obtener más información sobre las propiedades de contexto de WCF, vea Propiedades y esquema de propiedades de adaptadores de WCF.

    En los ejemplos anteriores se muestra cómo configurar WCF. Acción con una sola acción. Para varios escenarios de asignación de acciones, el adaptador de WCF no es compatible con el uso de varias asignaciones de acciones con puertos de envío dinámicos. Solo puede establecer la acción real en WCF. Propiedad de contexto de acción como se muestra en la sección anterior.

Consulte también

Especificación de acciones SOAP para adaptadores de envío WCF
Cómo utilizar expresiones para asignar valores a puertos dinámicos
Enlaces de puertos