Consideraciones al consumir servicios WCF con los adaptadores de envío WCF
Este tema proporciona información que es necesario tener en cuenta a la hora de consumir servicios WCF con los adaptadores de WCF.
Utilice la opción "Plantilla: contenido especificado por plantilla" al enviar contenido que no sea XML como mensajes de petición
Los adaptadores WCF con cuerpo: el cuerpo del mensaje de respuesta de BizTalk (el valor predeterminado) no permiten enviar mensajes no XML, como datos de caracteres y imágenes de mapa de bits. Puede usar el contenido plantilla especificado por la opción de plantilla para los adaptadores WCF para enviar mensajes que no son XML. Para obtener más información sobre cómo usar la plantilla, vea Consideraciones al publicar servicios WCF con los adaptadores de recepción de WCF.
El WCF-BasicHttp y WCF-WSHttp puertos de envío siempre omiten el proxy si la dirección de servicio comienza por http://localhost
El WCF-BasicHttp y WCF-WSHttp puertos de envío siempre omiten el proxy si la dirección de servicio comienza con http://localhost si el proxy está configurado en la pestaña Proxy del puerto de envío o en la pestaña Proxy del controlador de envío. Debe utilizar el nombre de host (en lugar del de localhost) si desea que los clientes pasen a través de un proxy al hablar con servicios del mismo equipo.
Los adaptadores de envío WCF-BasicHttp y WCF-WSHttp suspenden los mensajes si el proxy no está configurado correctamente
Puede especificar la configuración de proxy para el WCF-BasicHttp y WCF-WSHttp enviar adaptadores en la pestaña Proxy del puerto de envío o la pestaña Proxy del controlador de envío. Si el proxy no está configurado correctamente, los adaptadores de envío suspenden los mensajes y recibirá el mensaje de error "No había ningún extremo a la escucha que pudiera aceptar el mensaje" en el registro de eventos.
Configurar los permisos para un puerto de envío WCF con el adaptador de WCF-NetMsmq
Cuando un puerto de envío WCF con el adaptador de WCF-NetMsmq envía un mensaje a un Servicio WCF publicado con NetMsmqBinding, dirige el mensaje a la cola de destino, que es la cola administrada por el administrador de colas del servicio. El administrador de cola del cliente envía el mensaje a una cola de transmisión (o de salida). La cola de transmisión es una cola situada en el administrador de colas del cliente que almacena mensajes para transmitirlos a la cola de destino.
El administrador de colas del servicio acepta los mensajes dirigidos a las colas de destino que le pertenecen y, además, almacena los mensajes. A continuación, el servicio realiza solicitudes para leer de la cola de destino y el administrador de colas entrega los mensajes al servicio. Por este motivo, la cuenta del servicio de la instancia de host de BizTalk que aloja el puerto de envío debería disponer de los permisos necesarios para escribir en la cola de transmisión.
Utilizar una expresión XPath vacía para recibir un mensaje SOAP con datos de caracteres en el contenido del elemento Cuerpo de SOAP
Un puerto de petición-respuesta de WCF puede recibir un mensaje WCF como mensaje de respuesta. Para crear un mensaje de BizTalk a partir de un mensaje de respuesta entrante con datos de caracteres en el contenido del elemento Cuerpo SOAP como se muestra en el ejemplo siguiente, debe dejar el cuadro de texto expresión XPath vacío en la pestaña Mensaje del cuadro de diálogo propiedades de transporte del adaptador WCF.
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
<s:Header>
...
</s:Header>
<s:Body>Contoso</s:Body>
</s:Envelope>
Si selecciona la opción Sobre o Cuerpo , el adaptador no crea el mensaje de BizTalk a partir del mensaje entrante. El mensaje no se suspende porque los mensajes que producen error en el procesamiento del cálculo de referencia de SOAP entrante no se suspenden. Para obtener más información sobre cómo usar la expresión XPath en la pestaña Mensaje , vea Especificar el cuerpo del mensaje para los adaptadores de WCF.
Nota
Puede usar la herramienta TraceViewer (SvcTraceViewer.exe) de Windows SDK mediante la configuración de BTSNTSvc.exe.config.file. Para obtener más información sobre Windows SDK, vea Novedades de Windows SDK https://go.microsoft.com/fwlink/?LinkId=75219en . Para obtener más información sobre la herramienta TraceViewer, vea "TraceViewer Tool (SvcTraceViewer.exe)" en https://go.microsoft.com/fwlink/?LinkId=75218.
BizTalk Server no utiliza tipos de mensaje de varias partes y elementos raíz que describan los encabezados SOAP personalizados
Si ejecuta el Asistente de consumición del Servicio WCF de BizTalk en metadatos en los que se hayan definido encabezados SOAP personalizados, el asistente genera elementos raíz en los esquemas generados para representar los encabezados SOAP personalizados. El asistente también crea tipos de mensajes de varias partes en orquestaciones para los encabezados SOAP personalizados. Servidor BizTalk Server. Sin embargo, BizTalk Server no utiliza tipos de mensajes de varias partes ni elementos raíz para controlar los encabezados SOAP personalizados.
Para acceder a encabezados SOAP personalizados, debe usar la propiedad InboundHeaders . Para obtener más información sobre cómo recibir encabezados SOAP personalizados, vea Encabezados SOAP con servicios WCF publicados. Para usar encabezados SOAP personalizados, debe usar la propiedad OutboundCustomHeaders . Para obtener más información sobre cómo enviar encabezados SOAP personalizados, vea Encabezados SOAP con servicios WCF consumidos.
Crear instancias de host independientes para los puertos de envío que utilicen direcciones de proxy o credenciales de proxy distintas.
Para obtener el máximo rendimiento de los adaptadores de envío de WCF, recomendamos que cree instancias de host independientes para los puertos de envío que utilicen direcciones de proxy o credenciales de proxy distintas. Esto evita la contención en la configuración del proxy.