Thursday, December 14, 2006

Preserving Encoding in a XML output (or BOM)

Encontré este artículo muy interesante y que me ha resuelto muchas dudas. Es respecto a como preservar el encoding cuando se hace un cambio de encoding (de UTF-8 a UTF-16 por ejemplo)

http://richardhallgren.com/blog/?p=44

Enjoy :D

Monday, December 11, 2006

Biztalk 2006 and SAP .NET Connector ... runtime or full?

Ok, una vez instalado el SQL y todo el Biztalk 2006, la receta es:

1. Instalar el SAP .NET Connector Runtime 2002
2. Instalar el SAP Front End.
3. Instalar el Biztalk SAP Adapter SP1


Despues puedes actualizar el SAP .NET Connector Runtime a la version 1.0.3

Recuerda que el SAP .NET Connector 2003 (no el runtime) requiere que TENGAS INSTALADO el Visual Studio 2003, y al parecer el wizard para la generacion de schemas de SAP del BTS 2006 tiene broncas o si no en tiempo de ejecución se necesita a fuerza el runtime. Yo recomiendo los anteriores pasos mencionados y que no se instale ningún Visual Studio en producción, mejor usa una máquina con el BTS 2006 + VS.NET 2005 + SAP .NET Runtime para desarrollo de soluciones de biztalk y por separado otra máquina con el VS.NET 2003 y el SAP .NET Connector 2.0 para cuando desees probar con código .net invocaciones directas a SAP para hacer tus pruebas atómicas con parámetros hardcodeados. Windows Forms es muy util cuando quieres probar como se comporta una función RFC o BAPIs.

NOTA: Hay ocaiones en las que la invocación a SAP truena debido a que le falta algo mas, intenta rebootear el servidor despues de cada instalación o instala el SAP Front End. Parece ser que el Biztalk SAP Adapter aun tiene dependencias con alguno de los componentes de este software.

Windows Sharepoint Services receive adapter error not documented ... yet :(

Ahi les va... De acuerdo al siguiente error uno diría que hay algo malo con el adaptador de Sharepoint instalado en el Sharepoint server.... si... claro... pero lo que realmente estaba mal era otra cosa. El siguiente error

The description for Event ID ( 12457 ) in Source ( BizTalk Server 2006 ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: The Windows SharePoint Services receive adapter has failed to process the SharePoint file http://sharepoint-server/documentlibrary-X/file.xml. The following error has been encountered:
[Microsoft.SharePoint.SPException] Web server is busy. Please try again.
Error code: 12310
Once you have addressed the issue causing this problem, you can undo the check-out for this file and the adapter will try to process it again.
This error was triggered by the Windows SharePoint Services receive location or send port with URI wss://sharepoint-server:80/documentlibrary-x?ViewName=Biztalk.
Windows SharePoint Services adapter event ID: 12457.


se debía a que dos bases de datos (STS y el message box) del adaptador de biztalk 2006 para Sharepoint tenían el Transaction log lleno "hasta las manitas". Desafortunadamente en el web solo hay errores que hacen referencia a este tipo de error solo cuando un proceso/usuario tiene en estatus de "lock" o bloqueado el documento en cuestión, o cuando un evento SAVE/CHANGE desde Infopath no libera correctamente el documento. En resumen, el error reportado no correspondía al error que realmente estaba ocurriendo. La manera de detectar este error es viendo el Event Log del servidor de Sharepoint en cuestion y ahi encontrarás los eventos de error de MSSQL Server que te indican que hay bases de datos cuyo log esta lleno y tienes que ejecutar el "backup and clean" para dichas bases de datos.

Biztalk SQL Adapter and MS DTC common error

Bueno pues resuuuuuuuuulta que en la documentacion del BTS 2006 te topas con recomendaciones para configurar el MS DTC del servidor de SQL donde las bases de datos del Biztalk están instaladas, de esa manera el adaptador de SQL trabajará óptimamente. Pero tambien hay que tomar en cuenta que los servidores de SQL con los que trabajarás en tus soluciones de integración tambien deben tener los parámetros de seguridad del MS DTC habilitados, si no obtendrás errores como:


The adapter "SQL" raised an error message. Details "New transaction cannot enlist in the specified transaction coordinator. ".


Para evitar esto recuerda siempre que ambos MS DTC deben tener las opciones de seguridad habilitadas. He aqui como puede quedar configurado el MS DTC del SQL destino.