[AX 2012 R3 – How To] Consumir servicios Web externos

[AX 2012 R3 – How To] Consumir servicios Web externos

En esta ocasión, voy a demostrar cómo consumir un servicio web desde AX. El artículo que se encuentra en el MSDN es muy bueno para empezar, pero no esa API de Bing ya no está disponible.

Básicamente, vamos a verificar si nuestro JSON es válido y el resultado lo mostraremos en el infolog del AX.

Prerrequisitos

Para completar este tutorial se necesita:

  1. Microsoft Visual Studio 2010+.
  2. Visual Studio Tools for Dynamics AX 2012.
  3. Librería JSON.NET.

Librería DLL en .NET

Ahora, utilizando las herramientas de Visual Studio para Dynamics AX 2012 crearemos un proyecto de tipo “Librería de Clase en C#” y allí escribiremos el código necesario:


using Newtonsoft.Json;
using System.Net;

namespace TestJSON
{
public class Prueba
{
public string getData()
{
var url = "http://validate.jsontest.com/?json=%7B%22key%22:%22value%22%7D";

var client = new WebClient();
string jsonData = client.DownloadString(url);

var records = JsonConvert.DeserializeObject(jsonData);


return records.ToString();
}
}
}

Ahora, iremos a la carpeta donde están las dll generadas, las vamos a copiar en el Servidor y Cliente de AX Para el servidor la ruta se parece a:
C:Program FilesMicrosoft Dynamics AX60ServerMicrosoftDynamicsAXbin

Para el cliente la ruta se parece a:
C:Program Files (x86)Microsoft Dynamics AX60ClientBin

En el AX vamos a agregar la referencia a dichas dlls:
1

Por último, vamos a crear un Job donde llamaremos a la librería y ejecutaremos el siguiente código:


static void Job16(Args _args)
{
TestJSON.Prueba pr;
str resultado;
;

pr = new TestJSON.Prueba();
resultado pr.getData();

info(resultado);
}

De esta manera se consume un servicio web, en este caso, en formato JSON.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.