Freigeben über


BizTalk Server 2004 y WCF

Actualmente Microsoft esta desarrollando BizTalk Server 2006 R2, el cual involucra un adaptador para WCF.  Pero, se pueden invocar Web Service de WCF desde BizTalk Server 2004 sin SP1? La respuesta es SI y basta con agrega un Web Reference al *.svc deseado, sin embargo no es posible utilizar todas las ventajas que ofrece WCF si se desea invocar desde BTS2004.

Aunque WCF implementa muchos estandares de WS-*, estos no son soportados por el adaptador de SOAP para BTS2004 sin SP1.  Por lo tanto, la primera restriccion es no utilizar estandares como WS-Security, WS-Routing, etc.

Otro error que se tiene, se ejecuta al establecer un Namespace al atributo ServiceContract que especifica la interfaz de los metodos a implementar.  Por ejemplo:

namespace WCF.Ejemplos
{
    [ServiceContract]
    public interface IMetodos
    {
        [OperationContract]
        bool ProcesarMensaje(string mensaje);
    }
}

Cuando esto se hace, el wizard de Web Rerence para BTS2004 en VS2003 no es capaz de importar los metodos a invocar, y mostrara un error de esta forma:

Could not generate BizTalk files. Unable to import WebService/Schema. A schema with the namespace 'MyNamespace' has already been added.

Como se ve, se debe de tener un poco de cuidado al tratar de referenciar Web Services de WCF desde BTS2004 sin SP1.  Pero una ves se tomas los respectivos cuidados, a la final se puede invocar un absteniendose de implementar cualquier caracteristica avanzada de WCF.

Autor: Carlos Medina

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho