Error
The Messaging Engine failed to register the adapter for “WCF-BasicHttp” for the receive location “/LedgerService/LedgerServiceBTS.svc”. Please verify that the receive location exists, and that the isolated adapter runs under an account that has access to the BizTalk databases.
Causa
Esto ocurre porque el usuario configurado en el Application Pool que hospeda el servicio referenciado es el mismo que está configurado en los Application Pool que hospeda los servicios expuestos por el ESB de BizTalk.
Solución
Crear un usuario de dominio o local que esté en el grupo de BizTalk Isolated Host Users, adicional a esto, el usuario debe tener permisos para correr el Application Pool que hospedará el servicio.
Pasos a seguir
- Se debe crear un usuario de dominio exclusivo que ejecutará los servicios web tipo isolated.
- Ese usuario de dominio debe pertenecer al grupo de dominio que se creó para los BizTalk Isolated Host Users. Y Validar que tenga las siguientes políticas asignadas:
- Adjust memory quotas for a process
- Log on as a service
- Act as part of the operating system
- Impersonate a Client after Authentication
- Log on as batch Job
- El usuario de dominio creado en el paso 1 debe pertenecer también al IIS_IUSR (Grupo local en cada Host de BizTalk)
- Asegurarse que exista un application pool en cada uno de los servidores BizTalk involucrados, con el cual se va a ejecutar el servicio con framework 4.0 y Managed Pipeline Mode == Integrated.
- Modificar la identidad del application pool de cada uno de los servidores BizTalk involucrados, por el usuario de dominio creado en el paso 1.
- Ingresar a la consola de administración de BizTalk Server, y crear un Host de tipo Isolated e ingresar el grupo del dominio que se creó para los BizTalk Isolated Host Users.
- Desde la Consola de Administración de BizTalk, crear las instancias de hosts de cada servidor asociadas al host creado en el paso anterior. La configuración se debe realizar con el usuario creado en el paso 1.
- Desde la Consola de Administración de BizTalk, en el nodo Adapters se debe crear el receive handler WCF-CustomIsolated para el host creado en el paso 6.
- Cambiar el handler del Receive Location que posee el servicio WCF creado por el host creado en el paso 6.
Leave a Reply