Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2017
Sergio J. Sergio J. is offline
Miembro
 
Registrado: may 2003
Ubicación: Andalucía (España)
Posts: 97
Poder: 22
Sergio J. Va por buen camino
Cita:
Empezado por manelb Ver Mensaje
No es exactamente a lo que yo me refiero.

Yo utilizo el Excel para visualizar y totalizar las Respuestas a las Consultas.

En el caso que tu comentas, el xml de respuesta contiene información sobre el envío en general y sobre cada una de las facturas que acabas de enviar en particular.
Esa información debería guardarse de forma estructurada en tu sistema para saber que facturas has enviado, cuáles han sido aceptadas de forma correcta, aceptadas con errores o incorrectas para proceder en un próximo envío de forma consecuente
Efectivamente, para que el sistema interprete el xml de respuesta y guarde dicha información en el sistema cómo lo hacéis?

Gracias
Responder Con Cita
  #2  
Antiguo 27-07-2017
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 281
Poder: 8
manelb Va por buen camino
Cita:
Empezado por Sergio J. Ver Mensaje
Efectivamente, para que el sistema interprete el xml de respuesta y guarde dicha información en el sistema cómo lo hacéis?

Gracias
Te paso dos enlaces de las paginas iniciales del tema cortesía de los compañeros bucanero y newtron.

https://www.clubdelphi.com/foros/sho...0&postcount=28
https://www.clubdelphi.com/foros/sho...8&postcount=39


Del primer enlace, fíjate en el bucle que hay a continuación de
Código Delphi [-]
 result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
Es exactamente lo que tu pretendes hacer, tratar la respuesta.

En el segundo enlace hay incluso un ejemplo funcionando.

Espero te sirva
Responder Con Cita
  #3  
Antiguo 27-07-2017
Sergio J. Sergio J. is offline
Miembro
 
Registrado: may 2003
Ubicación: Andalucía (España)
Posts: 97
Poder: 22
Sergio J. Va por buen camino
Cita:
Empezado por manelb Ver Mensaje
Te paso dos enlaces de las paginas iniciales del tema cortesía de los compañeros bucanero y newtron.

https://www.clubdelphi.com/foros/sho...0&postcount=28
https://www.clubdelphi.com/foros/sho...8&postcount=39


Del primer enlace, fíjate en el bucle que hay a continuación de
Código Delphi [-]
 result := GetsiiSOAP.SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
Es exactamente lo que tu pretendes hacer, tratar la respuesta.

En el segundo enlace hay incluso un ejemplo funcionando.

Espero te sirva

Gracias manelb,

Un aporte realmente generoso e importante, para agradecer a bucanero y newtron y en general a dotos los foreros integrantes y a tí por darme luz, . Lo cierto es que lo he compilado con una versión que tengo de delphi XE7 aunque mis proyectos importantes están en delphi 6 como comenté anteriormente y al compilarlo me da un error de compilación:

[dcc32 Error] Soap.SOAPHTTPTrans.pas(113): E2291 Missing implementation of interface method IWebNode.GetMimeBoundary

marcando la linea de error:

THTTPReqResp = class;

de la unidad unit Soap.SOAPHTTPTrans;

...y otro error de compilación:

[dcc32 Fatal Error] Soap.SOAPHTTPTrans.pas(384): F2063 Could not compile used unit 'Soap.Win.CertHelper.pas'

marcando la linea de error:

{$IF CompilerVersion <= 15.0}

de la misma unidad.

Supongo que será un error de mi delphi, ya que si se ha probado y funcionado por otros compañeros es porque está bien.

Si no resuelvo estos errores con delphi XE7 debo interpretar el archivo de respuesta buscando las lineas directamente en el XML y operando con ellas.

Gracias
Responder Con Cita
  #4  
Antiguo 04-08-2017
antoineL antoineL is offline
Registrado
NULL
 
Registrado: ago 2017
Posts: 8
Poder: 0
antoineL Va por buen camino
[quote=Sergio J.;519773]Efectivamente, para que el sistema interprete el xml de respuesta y guarde dicha información en el sistema cómo lo hacéis?/QUOTE]

He probado unas cuantas cosas, y he acabado con el método siguiente:
  1. recupero el contenido de la respuesta SOAP/Envelope
  2. compruebo que no es Fault, que tiene Body
  3. paso el elemento dentro del Body por una transformación XSLT que me deja un elemento Respuesta (si en correcto o parcialmente correcto) con un montón de elementos-hijos RespuestaLinea o RespuestaLineaConError; si la respuesta es Incorrecto, es otro elemento madre con un montón de elementos-hijos RespuestaLineaConError
  4. vuelco el XML resultado de la transformación directamente a 4 tablas, donde puedo tranquilamente recuperar las varias partes, actualizar tablas etc.

La ventaja para mí es que así reduzco al mínimo la interfaz con el XML; antes tenía un montón de código que iba por las varias ramas del XML, pero tenía dudas que fuese sencillo de mantener en el futuro.

Si les interese el XSLT, está en http: //pastebin.ca/3850663 (perdonad las molestias del copiar y pegar y editar, soy novato; gracias por adelante al administrador que lo rectificará).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TICKET BAI (TicketBAI); Nuevo sistema de la Agencia Tributaria del Pais Vasco keys Internet 4170 Hace 2 Semanas 17:29:05
AEAT envio de datos vía Webservice problemas con WSDL CelsoO Internet 11 09-10-2019 20:03:41
webService Soap de la Administración Digital Española notific@ apicito Internet 3 31-01-2017 11:25:28
Error en Webservice funcion envio de sms webmasterplc Delphi para la web 5 25-07-2013 20:10:29
Problemas con envío de XML a un WebService davidvamo Internet 1 13-02-2007 15:49:20


La franja horaria es GMT +2. Ahora son las 08:44:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi