Tenemos unos servicios webs ya creados y queremos consumirlos dentro de AX2012.
Para ello, crearemos un proyecto “dll” con las referencias
web que queramos usar, y ese proyecto lo añadiremos al AOT y podremos usar sus servicios web desde X++.
Añadiendo un proyecto VS a AX2012
En VS2010, creamos un proyecto de tipo “Biblioteca de clases”,y añadiremos las referencias web que queramos usar.
Añadiendo un proyecto VS a AX2012
En VS2010, creamos un proyecto de tipo “Biblioteca de clases”,y añadiremos las referencias web que queramos usar.
En mi caso, quiero consumir servicios web SOAP
creados en .NET 2.0 (no servicios WCF). Debemos de agregar la referencia web de
esta forma:
Con esto, tendremos un proyecto de biblioteca de clases que
hace referencia a un servicio web.
Si quisiérais hacerlo con un servicio WCF, el procedimiento
debería ser el mismo, salvo que en la ventana “agregar referencia de servicio”
deberíamos escribir la url del servicio WCF, y el servicio se crearía en el nodo Service Reference en vez de Web Reference
Una vez añadidos los servicios que queremos usar, debemos
añadir este proyecto al AOT.
Para ello, botón derecho en el proyecto y “Añadir proyecto
al AOT”.
Si nos vamos al AOT en AX2012, podemos ver en Visual Studio
Projects / C Sharp Projects, el proyecto que hemos creado anteriormente.
Añadiendo un nuevo servicio
web
Si queremos añadir un nuevo servicio al proyecto creado anteriormente, no hace falta que lo tengamos creado ya que está integrado en el AOT.
Nos vamos al proyecto que contiene los web services, botón derecho > Editar.
Nos vamos al proyecto que contiene los web services, botón derecho > Editar.
Se nos abre el VS2010 con el proyecto cargado, añadimos las
referencias que queramos añadir, y compilamos el proyecto.
Hecho este paso, en el AOT, si restauramos el proyecto, ya
nos debe de aparecer el nuevo servicio.
Modificación de un
servicio web
Añadir un proyecto al AOT, lo que hace es crear un código “proxy”
dentro de AX2012 para que se pueda usar desde X++. Esa clase proxy va mapeada a
llamadas a la DLL, que dentro tienen otra clase proxy con llamadas al web
service SOAP.
Si cambia el Web Service, se rompen esos mapeos y da error.
Para ello, hay que actualizar el proxy de dentro del proyecto DLL.
Para ello, editamos el proyecto (Visual Studio Projects > C Sharp Projects
> Proyecto de WS > botón derecho > Editar )
Nos situamos sobre el proxy que queremos actualizar, y botón
derecho > actualizar referencia web. Este paso vuelve a generar el proxy.
Compilamos y cerramos proyecto.
Consumiendo el servicio web
Para consumir el proyecto, relizaremos el ejemplo con un job.
Para consumir el proyecto, relizaremos el ejemplo con un job.
Mediante el método set_Url, podemos cambiar la URL del
servicio, por lo que nos permite tener webservices de producción y de prueba.
En el siguiente artículo, pondré un ejemplo de cómo recuperar información de DataSets de .NET dentro de X++.
Espero que os sirva este ejemplo. Un saludo.En el siguiente artículo, pondré un ejemplo de cómo recuperar información de DataSets de .NET dentro de X++.
No hay comentarios:
Publicar un comentario