martes, 23 de mayo de 2017

Comunicación SOAP WebService AEAT a través de C#

Voy a utilizar este Blog que tenía desde hace tiempo para ir registrando todas aquellas actividades de desarrollo que estoy realizando para poder tener un recordatorio de su uso y si además puede servirle a alguien, mejor que mejor.

Para empezar con las publicaciones, estoy desarrollando estos días una aplicación que tiene que permitir comunicar a través de SOAP con la web SII de la Agencia Tributaria. Este sistema nuevo se va a hacer obligatorio a partir del 1 de Julio y estoy desarrollando una aplicación en C# a través de Visual Studio para que comunique con un programa de gestión en FoxPro.

La idea es que la aplicación en C# sea llamada por el programa de gestión en FoxPro a partir de unos argumentos que determinarán donde ha realizado la llamada y que tiene que consultar o gestionar. A través de estos argumentos empezará a realizar la llamada a una serie de objetos para consultar las tablas correspondientes y vayan rellenando los parámetros que está esperando el WebService del AEAT.

Como la aplicación va a ser un intermediario entre el WS y FoxPro, voy a crear un proyecto de consola. Esto es así porque las vistas ya se encarga la aplicación de FoxPro. De todas formas, si fuera necesario crear vistas o formularios, la gestión a través de SOAP es sencillo cuando comprobemos como llamar a cada parámetro.

El sistema SII de la Agencia Tributaria tiene una página para obtener la información técnica de comunicación donde, entre otros, recoge los WSDL de los servicios web que nos permitirán enlazar con Visual Studio:Agencia Tributaria Información Técnica SII



Vamos a empezar enlazando los dos que más importancia le doy por el funcionamiento que tiene la gestión de FoxPro: el libro de Facturas Emitidas y el libro de Facturas Recibidas.

También, para poder llevar una mejor comprensión de las funciones a las que vamos a llamar o rellenar y para saber la estructura de la comunicación, es imprescindible tener el documento de Descripción servicio Web en el apartado de ayuda técnica que nos permitirá saber que funciones hay que llamar y que objetos hay que crear para rellenar cada uno de los apartados. Además también sugiero el uso de la aplicación SoapUI que nos permite crear un proyecto y cargar los WSDL para ver la estructura del XML y que lo explicamos en el siguiente punto.

 

2 comentarios:

Ulthar dijo...

Yo estoy en una situación similar: programa en vfp debe comunicar con el SII, pero no tengo experiencia consumiendo servicios SOAP y estoy intentando hacerlo desde el propio Fox con _ws3client.vcx y también con MSSOAP.SoapClient30 y no hay manera (no consigo que pida o acepte el certificado que le indico).

¿Te decantastes por esa solución bridge en vb porque sabías que desde Fox no se puede?

Lo intentaré un poco más y si veo que no puedo me decantaré por una solución similar, muchas gracias por compartir la información.

Saludos.

Unknown dijo...

Fué la solución más viable, ya que a partir de FoxPro puedes realizar la llamada a una aplicación externa, en este caso un gestor escrito en C# que se encarga de la comunicación SOAP y el resultado lo traduce en tablas FoxPro.