miércoles, 2 de julio de 2008

Errores al instalar Employee Portal de Dynamics NAV

Recientemente he ayudado a montar el Employee Portal sobre un wss2 contra un Microsoft Dynamics Nav 4 y me he encontrado algunos “problemillas” que parecen ser bastante comunes en este mundo.

Por lo que he podido comprobar la documentación de Microsoft sobre este producto es muy escasa, y los manuales de instalación son demasiado ligeros.

El primer error que me encontré al entrar al portal fue el siguiente: “No se pueden obtener los permisos necesarios”. Por supuesto este no era un error de wss2, sino del portal.

Motivo: Al parecer este error se produce cuando hemos instalado el wss2 antes que el módulo de Employee portal.

Solución: Desinstalar el paquete del employee portal, después desinstalar el wss2, y después volver a instalar el paquete del employee portal y por último el wss2.

Una vez conseguí que funcionara el wss2 sin problemas e instalar el NAS conseguí construir un sitio con la plantilla NEP y me encontré con el siguiente problema: “Communication error (10114): No reply received from Back End System (Time Out)

Motivo: Este error puede producirse por varias causas. El problema es se produce un Timeout en la página porque los WebParts de NEP no conseguían comunicar con el NAS.

Solución: Como puede producirse por muchos motivos, os aconsejo los siguientes pasos:

· Comprobar el log de aplicaciones del servidor y buscar errores o advertencias producidas por el Employee Portal

· Revisar los usuarios utilizados en la ejecución del wss y del NAS.

· Revisar que el NAS esté iniciado correctamente. Cuando el NAS arranca correctamente deja una marca en el log de aplicaciones de Windows.

· Revisar la configuración de seguridad de las colas MSMQ y los nombres de las colas en la configuración del NEP en Navision.

· Revisar la configuración del NEP en el Web.Config del sitio. Revisar los nombres de las colas MSMQ y la configuración del timeout.

· Revisar que hayais generado el par de claves de intercambio necesarias, y que esté arrancado el servicio de intercambio.

· En mi caso el problema estaba en era que no encontraba la dll xp_ndo.dll.

Algunos enlaces sobre el error:

http://www.mibuso.com/forum/viewtopic.php?p=39228

http://www.msdynamics.de/viewtopic.php?t=4690

Error "The extended stored procedure xp_ndo_enumusergroups in the library file xp_ndo.dll, is not available on the <Servername> server”.

Motivo: Navision no encuentra la dll xp_ndo.dll que necesita el cuando conecta en modo integración de Windws contra una bbdd SqlServer.

Solución: Copiar la dll al directorio bin del SqlServer. La dll la podeis encontrar en el cd de instlación en el directorio $\Sql_esp\xp_ndo.exe

Algunos enlaces sobre el error:

http://blog.configmaker.net/?p=27

Pero al instalarla me daba otro error más: “Error al carga xp_ndo.dll no se ha podido encontrar alguna de sus dependencias

Motivo; los procedimientos almacenados estaban registrados referenciando a la dll en un path erróneo.

Solución: Borrar los procedimientos y volver a crearlos con el path adecuado.

Algunos enlaces sobre el error y el anterior:

http://dynamicsuser.net/forums/p/11027/33937.aspx

http://www.binaryrefinery.com/main/CommentView,guid,8fbfd400-c032-4107-8ad6-4335f1714b06.aspx

http://www.binaryrefinery.com/main/CommentView,guid,8fbfd400-c032-4107-8ad6-4335f1714b06.aspx

En unos días os contaré mis experiencias con este producto. En breve también montaremos el Employee portal sobre un wss3 contra un Dynamics Nav 4 y después sobre un wss3 contra un Dynamics Nav 5. Ya os contaré que tal.

5 comentarios:

Luis M. dijo...

Hola Mario,

Tengo el mismo error que comentas en tu post - Communication error (10114): No reply received from Back End System (Time Out).

He repasado todas las posibles causas que pueden producir este error, pero creo que lo tengo todo bien configurado.

Mi duda esta en las colas de mensajes, porque tengo instalado NAS en una maquina y Sharepoint en otra, y no se si lo estoy referenciando bien.
He visto que siempre se queda un mensaje en la cola reply de la maquina del NAS que creo que no llega hasta Sharepoint.

La configuracion que tengo es la siguiente, por si me puedes echar una mano:


Maquina con Navision Server y NAS:
----------------------------------

§ Nombre: JCYLFSA002

§ IP: 10.17.73.25

§ Configuración de NAS:

El usuario que lanza el servicio NAS se llama GESTION\Shapoipo, que es administrador de la maquina y tiene el rol SUPER en la bbdd de Navision.

§ Configuración colas de mensajes en Navision:

Cola solicitudes: .\private$\nep_request_queue

Cola respuestas: .\private$\nep_reply_queue

Maquina con Sharepoint:
-----------------------

§ Nombre: JCYLSP0101

§ IP: 10.16.137.197

§ El servicio de intercambio de claves está arrancado en esta maquina por el usuario GESTION\Shapoipo (que es administrador de la maquina)

§ Bloque de configuración del fichero web.config referente al EP:

add key="JobQueues" value="FormatName:DIRECT=OS:JCYLFSA002\private$\nep_request_queue" />

add key="ReplyQueues" value="FormatName:DIRECT=OS:.\private$\nep_reply_queue" />

add key="MessageTimeOut" value="120" />

add key="WaitForReplyTimeOut" value="60" />


La cola Reply la hes puesto local en la maquina de Sharepoint, pero tambien he probado a ponerla remota a la maquina del NAS y también falla.

He visto que se queda siempre un mensaje en la cola reply del NAS y en alguna ocasiones (no siempre) aparece este mensaje en el visor de eventos de la maquina de Sharepoint:



---------------------------------------------------------------------------------------

Event Type: Error

Event Source: Navision Employee Portal

Event Category: None

Event ID: 10120

Date: 23/10/2008

Time: 11:37:09

User: N/A

Computer: JCYLSP0101

Description:

Unable to read from reply queue. FormatName:DIRECT=OS:.\private$\nep_reply_queue


Cualquier pista que puedas darme me sera de gran ayuda.

Muchas gracias de antemano.

Luis M.

Mario Cortés Flores dijo...

Hola, el error que te está marcando en el log indica que Sharepoint no puede contectar con la cola "reply". Por lo que he visto en tu Reply queue tienes puesto "DIRECT=OS:.\private$\nep_reply_queue", y deberías tener "DIRECT=OS:JCYLFSA002\private$\nep_reply_queue".

Una vez hayas hecho esto, verifica que el usuario con el que se ejcuta Sharepoint tenga acceso a las colas, ya que si no tampoco llegarán.

Lo mejor es que hagas las pruebas por trozos, es decir, primero para el NAS y revisa que llegan los mensajes a las colas al entrar en Sharepoint.
Una vez veas que llegan los mensajes a las colas, enciendes el NAS y pruebas la parte entre el NAS y Navision.

Luis M. dijo...

Hola Mario,

Lo primero, muchas gracias por tu respuesta tan rapida.
Por lo que entiendo de tu respuesta, la cola de reply no tiene por que estar en la maquina de Sharepoint (asi lo indica el manual de instalacion de EP que vienen en la documentacion de Navision) sino que puede estar en la maquina del NAS, pero hay que referenciarla correctamente, verdad?

Bueno, pues he hecho lo que me indicas y si paro el NAS el mensaje se queda en la cola request, con lo cual los mensajes llegan desde la maquina de Sharepoint a la maquina del NAS.

Pero cuando arranco el NAS, me ocurre lo que te decia antes, el mensaje se queda en la cola reply (ahora configurada en la maquina del NAS) y Sharepoint no lo recoge de ahi.
El usuario GESTION\Shapoipo tiene control total sobre ambas colas.

¿Que puede estar pasando?
He probado incluso a reinstalar el NAS, pero nada.

Hay algun sitio aparte del visor de sucesos donde pueda buscar algun mensaje de log?

Gracias de nuevo.

Mario Cortés Flores dijo...

Si cuando arrancas el NAS no salen los mensajes de la cola significa que el NAS no está conectando con las colas correctamente.

Lo primero que tienes que hacer es verificar que el NAS está iniciado correctamente, para ello en el registro de windows del servidor de NAS tiene que existir un mensaje similar al siguiente:
"The Navision Applicatin Server NOMBRESERVER started with the following configuration ....".
Si no encuentras ese mensaje el NAS no está iniciado correctamente.

En caso de estar iniciado y siga sin leer los mensajes, entonces puede que no esté bien configurado los nombres de las colas en la configuración del EP en Navision.
Para éllo entra en: Administración->Configuración de la aplicación->Employee portal-Conf. Application Server y se abrirá una ficha de configuración. Seleccionas la pestaña "Cliente" y revisas los nombres de las colas. Me suena que por defecto solo viene una rellena, yo siempre he tenido que añadir manualmente el nombre de una de las colas.

Luis M. dijo...

Hola Mario, al final el problema era cuestion de que la cola de respuesta debe estar en la maquina de Sharepoint y darle los permisos correctos.
Me faltaba encontrar la sintaxis correcta para configurar la cola de respuesta en el modulo EP de Navision.

Escribí un post en mibuso.com y me dieron la respuesta.

http://www.mibuso.com/forum/viewtopic.php?f=4&t=29309

Muchas gracias por tu ayuda.