Sunteți pe pagina 1din 18

Integracio n con Dynamics AX

mediante webservices (I)


Revisin: 0.1
Fecha: 21/08/2010









http://www.trucosax.com





Introduccin

2
Introduccin
En mltiples ocasiones disponemos de ciertas aplicaciones satlite en nuestra estructura que
se usan para infinidad de cosas y en algn que otro momento deben sincronizar sus datos con
nuestro ERP.
Dynamics AX incorpora el AIF (Application Integration Framework) que nos brinda todo un
abanico de posibilidades de sincronizacin tanto de datos como de funcionalidad.
Caractersticas principales :
AIF incorpora un conjunto de interfaces ya diseadas y adems nos permite aadir
nuestros propios desarrollos.
Se puede usar para llamadas a servicios web en lnea o para intercambio de
documentos completos mediante colas de proceso.
Al trabajar con documentos XML y webservices es posible usarlo desde herramientas
como InfoPath y otras que nos facilitan mucho el trabajo.


Objetivo
Nuestro objetivo consistir en conseguir realizar una conexin satisfactoria con alguno de los
Webservices estndar que incorpora Dynamics AX.
Veremos como se pueden consumir dichos webservices desde InfoPath y como se crea de
forma automtica un cliente para consumir dichos webservices desde C#.


Cmo se hace?
Para empezar debemos revisar la lista de webservices de que disponemos desde Dynamics AX
y activar aquellos que deseemos usar.
Cmo se hace?

3

En el men BASE / CONFIGURAR / MARCO DE INTEGRACIN DE LA APLICACIN / SERVICIOS
podremos ver la lista de servicios de que disponemos y se nos permitir activar aquellos
servicios que necesitemos.

En nuestro ejemplo usaremos el servicio InventItemService y por tanto lo marcaremos como
habilitado.
Si pulsamos el botn Operaciones de servicio veremos las diferentes operaciones que ofrece
este servicio, que en nuestro caso se corresponde con algunas de las operaciones estndar
que ofrecen la mayora de servicios.
Find : Se utiliza para buscar un conjunto de entidades que se correspondan con unos
criterios de bsqueda que se especifican en los parmetros
Create : Usado para crear una nueva entidad
Read : Para leer el contenido completo de una entidad que se corresponda con los
criterios de bsqueda que se especifiquen.
FindKeys : Devuelve la lista de campos clave de aquellas entidades que se
correspondan con los criterios de bsqueda especificados por parmetro.
Otros servicios adems ofrecen operaciones como :
Cmo se hace?

4
Delete : Para borrar una entidad.
Update: Para actualizar los datos de una entidad.
Cuando ya hayamos activado el servicio que nos interesa le damos al botn Generar para
que Dynamics AX genere el servicio web.

Para poder comprobar si funciona correctamente podemos acceder a la pgina web siguiente :
http://servidor/MicrosoftDynamicsAXAif50/ItemService.svc
Nos debera aparecer una pgina parecida a esta:

Llegados a este punto ya tenemos en marcha nuestro WebService dentro de Dynamics AX,
ahora solo falta acceder a el desde el exterior.
Podemos acceder a estos webservices desde cualquier aplicacin o lenguaje de programacin
que nos permita consumir webservices, pero en nuestro ejemplo vamos a mostrar como
podemos acceder a dichos servicios desde InfoPath 2007.
1. Comenzaremos creando una nueva plantilla de InfoPath

Seleccionamos plantilla en blanco :
Cmo se hace?

5

2. Luego vamos a aadir una nueva conexin de datos:

Cmo se hace?

6

a. Elegimos Recibir Datos y Siguiente:

b. Marcamos Servicio Web y Siguiente:

c. Ahora introducimos la URL de nuestro servicio Web (como cuando hemos
realizado la prueba de conexin pero aadiendo al final ?WSDL) y Siguiente.
Cmo se hace?

7

d. Nos aparecen las distintas operaciones disponibles en nuestro servicio y
elegimos una (READ) y Siguiente:

e. Vamos pulsando siguiente hasta la ltima pgina en la que debemos
desmarcar la opcin Recuperar datos automticamente cuando se abre un
formulario y le damos a Finalizar.

3. Ahora ya tenemos creada la conexin de datos, vamos a probarla, aadiremos datos
en nuestra vista de InfoPath.
a. En el panel de tareas de diseo pulsamos la opcin Origen de datos:
Cmo se hace?

8

b. Seleccionamos la conexin READ que hemos aadido anteriormente y
desplegamos todo el rbol de campos para ver que contiene.

c. Seleccionamos el nodo InventTable de dentro de la rama dataFields y con
el botn de la derecha le damos a la opcin Tabla Extensible:
Cmo se hace?

9

Esto nos insertar una tabla con tantas columnas como campos tengamos dentro del elemento
InventTable.

4. Ya tenemos la tabla (de momento vaca), ahora vamos a aadir un control de texto
para que el usuario pueda usarlo a modo de filtro.
a. Ahora hacemos clic en alguna zona por encima de dicha tabla y pulsamos 3 o 4
veces la tecla intro (para hacer un poco de espacio por encima de la tabla ya
que vamos a insertar algn control en la parte superior).

b. Luego volvemos a la zona de origen de datos y seleccionamos Principal.
c. Botn de la derecha Agregar
Cmo se hace?

10

d. En la pantalla de aadir campo escribimos FltItemId como nombre del
campo y Aceptar:

e. Luego arrastramos el nuevo campo al espacio que queda por encima de la
tabla extendida:

5. Ahora aadimos un botn que realizar el filtro cuando el usuario lo pulse.
a. Pulsamos de nuevo sobre Tareas de diseo
Cmo se hace?

11

b. Luego sobre Controles

c. Y arrastramos un botn hacia la vista justo al lado del cuadro de texto que
hemos aadido anteriormente.
Cmo se hace?

12


d. Hacemos doble clic sobre el botn y le cambiamos la etiqueta por Filtrar
Cmo se hace?

13

6. Luego hacemos un clic en el botn Reglas donde definiremos el comportamiento
del botn cuando sea pulsado por el usuario.
a. Le damos a Agregar con lo que crearemos la Regla 1


b. Ahora comenzaremos a aadir acciones a la Regla 1
Cmo se hace?

14

c. Para nuestro ejemplo crearemos la primera accin que establecer el valor de
un campo:

d. Ahora seleccionamos el campo que realmente ser un campo de query para
realizar la consulta de la conexin de datos.
Cmo se hace?

15

e. Seleccionamos el campo Field

f. Ahora en Valor introducimos ItemId que es el nombre del campo por el que
queremos filtrar y le damos a Aceptar.
Cmo se hace?

16

g. Aadimos otra accin de establecer valor de un campo, pero esta vez en lugar
de hacerlo sobre el campo Field, lo haremos sobre el campo Value.

h. Y en valor, en lugar de asignar una constante, asignaremos el campo FltItemId
que es el que almacena el texto que haya introducido el usuario para realizar
el filtro.

Cmo se hace?

17


i. Por ltimo aadiremos la accin que realizar la consulta a la conexin de
datos:


Cmo se hace?

18
7. Aceptamos hasta volver a la pantalla de la vista de InfoPath y ya podemos probar
nuestro pequeo proyecto.
a. Pulsamos sobre el botn Vista previa

8. Si introducimos un cdigo de artculo vlido y pulsamos filtrar deberan aparecernos
los datos relativos a ese artculo.

S-ar putea să vă placă și