sábado 26 de noviembre de 2011

Trazabilidad de Medicamentos, Operaciones Cambiarias y Remito Electrónico

En el proyecto PyAfipWs se ha agregado soporte para varios webservices:


Con estos servicios web el proyecto PyAfipWs se ha expandido más allá de los webservices de AFIP, incluyendo otras entidades y servicios, completando e integrando las funcionalidades más usadas por sistemas de gestión en Argentina, no solo para python sino que con la interfaz COM se pueden usar desde otros lenguajes en Windows (Visual Basic, Visual Fox Pro, Delphi, ABAP - SAP, etc.) e incluso con interfaces de texto o por linea de comando en otras plataformas (DOS, UNIX).
Próximamente se agregará soporte para archivos CSV, DBF (dBase, FoxPro, Clipper, etc.), extendiendo y facilitando aún más el acceso a estos servicios web desde lenguajes de programación legados.

Respecto a la librería PySimpleSOAP, se realizaron las siguientes mejoras para soportar los nuevos webservices:

  • Mejoras en analisis de WSDL (separando nombres de elementos y tipos complejos, reconocimiento de las diferentes partes de los mensajes, tag vacios)
  • Soporte de SOAP Header (encabezados para autenticación)
  • Soporte básico para WSSE (WebService-Security Extensions)
  • Ajustes por servidor, para formar el requerimiento según cada plataforma evitando incompatibilidades (por ej., no enviar tag vacio a JBoss-AS pero si )
Las modificaciones experimentales están en una rama propia del repositorio, ya que algunos cambios pueden introducir incompatibilidades hacia atrás o todavía no son del todo definitivos. Más información en:

Gracias a tener un desarrollo propio para la comunicación SOAP se pudieron solucionar estos y otros inconvenientes, incluso cuando otras soluciones para webservices fallaban o no se ajustaban a los requerimientos (que por cierto, ningun servicio web ha sido igual a otro, cada nuevo webservice introduce ligeras incompatibilidades, interpretaciones diferentes del standard SOAP o nuevas características).

El servicio COT no es un webservice tradicional ya que no utiliza XML para el requerimiento ni SOAP para la respuesta, teniendo su propio esquema, por lo que solo se uso SimpleXMLElement de PySimpleSOAP (manejo de xml simple estilo objetos), y se adapto un WebClient para codificar los métodos POST. 
Gracias a Matias Gieco por aportar los ejemplos iniciales que posibilitaron desarrollar el componente.

Más información sobre el proyecto en:


Anuncios completos:

0 comentarios:

Publicar un comentario en la entrada