- En http://SERVIDOR:7047/DynamicsNav/WS/services podemos comprobar que el servicio está funcionando correctamente. Si no es así, habrá que conectarse con el servidor para comprobar que todos los servicios de DynamicsNAV están arrancados correctamente.
Microsoft Dynamics NAV Server
Microsoft Dynamics NAV Business Web Services
¡OJO! Si el cliente interesado en los servicios web trabaja con el cliente clásico, es posible que el servidor no tenga instalados estos servicios, por lo que tendremos que instalar la parte del Servidor y Application Server de la instalación del Microsoft Dynamics NAV.
- En el servidor, ir a Microsoft Dynamics NAV \ 60 \ Service y abrir en fichero CustomSettings.config
Modificar las líneas
< add key="DatabaseName" value="Demo Database NAV (6-0)" > < /add >
Por
< add key="DatabaseName" value="BBDD” > < /add >
y
< add key="DatabaseServer" value="" > < /add >
Por
< add key="DatabaseServer" value="localhost" > < /add >
- Desde el cliente clásico vamos a Archivo - > Bases de datos - > Modificar - > Pestaña Opciones - > Y marcamos los checks de Usuario único y Habilitar para el servidor de Microsoft Dynamics NAV
Como publicar un servicio web
Abrimos el cliente clásico y vamos a Administración -> Administración de IT -> Configuración general -> Servicios web. En ese formulario añadimos la codeunit que queremos publicar.
Consumir los servicios web con .net
Sobre el proyecto en cuestión hacemos clic derecho y vamos a “Agregar referencia web” introducimos la url donde está alojado el servicio. Con esta nueva referencia ya podemos utilizar los métodos y tipos del servicio web.
Para llamar a cualquier función mediante código deberemos:
1.-Importar la referencia
Imports servidor
2.-Declarar el servicio
Dim srv As servidor.CodeUnit = New servidor.CodeUnit
3.- Definir y asignar las credenciales
Dim credencial = New System.Net.NetworkCredential
credencial.UserName = "user"
credencial.Password = "pass"
srv.Credentials = credencial
4.-Ahora ya podemos llamar tanto a los tipos como a los métodos
a) Llamar a un tipo
Dim xml = New servidor.Tipodatos
b) Llamar a un método.
srv.Metodo(parametros)