Volver

BizTalk Server 2004: Problemas con Esquemas

Traducido desde http://www.dotnetjunkies.com/WebLog/laurencetimms/archive/2005/10/19/133298.aspx (laurencetimms.blog.blog.blog) ->abrir con un clic, no funciona copiando la dirección y pegando en otra ventana o pestaña
por Hernaldo González C. - Development Team Leader
http://darknromhacking.com
hernaldog@gmail.com
(* Notas del traductor)



¿BizTalk Server 2004 no puede ver tu esquema? ¿Está deployado? ¿Está realmente deployado? ¿Estás seguro?

Este es un servicio de mensaje público para cualquier desarrollador amateur de BizTalk (como nosotros) que obtiene un mensaje en el HAT y que les dice algo como: "Loading document specification [algún esquema] from assembly [algún assembly] failed. Verify that the schema is deployed properly and that the schema assembly implements the document spec." (La carga de una especificación de documento [un esquema] desde el assembly [un assembly] falló. Verifica que ese esquema está deployado y que el esquema del assembly implementa esa especificación de documento.

Escenario: Tienes un buen Servidor de BizTalk instalado y corriendo. Desarrollas los proyectos BizTalk localmente en Visual Studio 2003. Usas VS2003 para hacer instaladores de los proyectos que irán al servidor. El instalador del proyecto anda bien. El proyecto se deploya bien. Los receive ports y send ports están todos bien.

Tiras un mensaje de prueba en el receive port. Este desaparece por el messagebox. Esperas por el send port con ansiedad. Nada pasa. Esperas mas tiempo. Persiste la frustrante ausencia de mensajes.

Finalmente aceptas que algo no está andando bien, abres el HAT. Ves la sección "Messages Received in Past Day". Aparece esto: 'Unparsed Interchange'. Abres el Message Flow (*en el HAT con el 2do botón sobre un mensaje) y ves que BizTalk ha sido incapaz de encontrar un esquema asociado a tu mensaje.

BizTalk está obviamente mal, porque tienes el assembly con strong name y está deployado. Incluso te aseguras que el destino de BizTalk server sea la correcta en las propiedades del proyecto.

Déjame interrumpir aquí. Es muy posible que el esquema que hiciste está en servidor remoto, pero no esta dentro en el GAC remoto. Como ves, la funcionalidad de Deploy del Visual Studio 2003 no hace una instalación en el GAC remoto. En cambio, esta utilidad solo instala el assembly en tu GAC local, donde no lo necesitas.

Así que BizTalk no miente después de todo. No puede entender tu mensaje ya que el esquema no está en el GAC.

¿La solución? Tomar el assembly de BizTalk (y de cualquier dependencia del assembly aunque no sean assemblys BizTalk) y meterlo dentro del GAC en el Servidor BizTalk. Para esto debes usar gacutil.exe, btsdeploy.exe o el BizTalk Deployment Wizard localmente en el servidor.

(*: puedes usar un .bat instalador, ese .bat puede usar la aplicación BTSdeploy (Command Line Deployment Tool) que biene con Biztalk.
Ejemplo: @btsdeploy deploy assembly="midll.dll" Install=TRUE Log=MiLog

INSTALL = TRUE, deja el assembly en el GAC.)

Esto es todo respecto a la documentación. Aquí algunos útiles links:
-Como funciona de Deployment de un Assembly
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/deploying/htm/ebiz_asdepl_concepts_grbe.asp
-BizTalk Power Toys. Los necesitarás.
http://blogs.msdn.com/luke/articles/365678.aspx
-Un proyecto BizTalk con Auto Deploy en GotDotNet
http://www.gotdotnet.com/Workspaces/Workspace.aspx?id=62d94220-c0e0-46d4-a2d6-85d3d911467a

escrito por laurencetimms
miércoles 19 de octubre del 2005, 4:30 AM


* Traducido el 08/12/2007. Dudas o comentarios a hernaldog@gmail.com.



Volver

2003-2011