Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 16-05-2019
mtxtania mtxtania is offline
Registrado
 
Registrado: may 2019
Posts: 8
Poder: 0
mtxtania Va por buen camino
Cita:
Empezado por mtxtania Ver Mensaje
Buenos días, he estado hablando con la AEAT pero de momento no saben dar solución a que las respuestas lleguen a nil… He probado a modificar lo que comentáis pero eso es para .NET, al menos es lo que me ha corroborado el de la AEAT.

Alguien ha hablado de leer el XML aunque estamos de acuerdo que no es nada recomendable. Crearíais una clase con la estructura del XML o os lo leerías directamente? Alguien ha avanzado un poco mas?

A parte estoy mirando algunos de los errores que me da. Uno de ellos es Formato de hora no válido, cuando le paso un datetime. En el XML de petición se genera 10:50:00.000Z El problema viene que muestra .000Z Podría probar de modificar el WDSL pero si tenemos que tocar mil cosas vaya gracia

He probado así:

Código Delphi [-]
 HoraPreparacion :=  Ie215V11.HoraTipo.Create;
    HoraPreparacion.AsTime   :=now;

Y así:
Código Delphi [-]
HoraPreparacion :=  Ie215V11.HoraTipo.Create;
     with HoraPreparacion do
     begin
       Hour:=10;
       Minute:=50;
       Millisecond:=00;
     end;

Sabéis como puedo pasarlo correctamente. No quiero tener que quitarlo directamente del XML.

Me contesto a mi misma sobre lo de la hora, me lo acepta utilizando :

Código Delphi [-]
HoraPreparacion.XSToNative('09:00:00');
Responder Con Cita
  #22  
Antiguo 16-05-2019
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 121
Poder: 17
APO Va por buen camino
Hola mtxtania,

Pues vaya con los de la AEAT! Bueno, de momento, puedes gestionarlo como lo estoy haciendo yo, que es trabajar sobre el XML de respuesta. Para ello, lo que yo he hecho es crear una variable de tipo TXMLDocument e ir recorriendo los nodos. Te pongo una muestra de ejemplo:

Código Delphi [-]
procedure TfrmMantenimientoTabla.ProcesarXML;
var
   XMLDocument: TXMLDocument;
   XMLDocumentBody, XMLDocumentRechazado, XMLDocumentAceptado: IXMLNode;
   i: integer;
begin
   XMLDocument:=TXMLDocument.Create(Self);
   XMLDocument.Active:=False;
   try
      XMLDocument.LoadFromXML(mXML.Text); //Memo donde tengo cargado el XML
      XMLDocument.Active:=True;
      for i:=0 to XMLDocument.DocumentElement.ChildNodes.Count-1 do
      begin
         if UpperCase(trim(XMLDocument.DocumentElement.ChildNodes[i].LocalName))='BODY' then
         begin
            XMLDocumentBody:=XMLDocument.DocumentElement.ChildNodes[i];
            for j:=0 to XMLDocumentBody.ChildNodes.Count-1 do
            begin
               if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE204' then
               begin
                  //MENSAJE RECHAZADO (Si el mensaje de respuesta tiene el nodo Ie204 es que ha sido rechazado)
                  XMLDocumentRechazado:=XMLDocumentBody.ChildNodes[j];
                  //...

               end
               else
               begin
                  //MENSAJE ACEPTADO
                  if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE201' then
                  begin
                     XMLDocumentAceptado:=XMLDocumentBody.ChildNodes[j];
                     //…
                  end;
               end;
            end;
         end;
      end;
   except

   end;
end;

Y respecto a la hora correcto, es como lo estoy haciendo yo también:

Código Delphi [-]
XML.Cabecera.HoraPreparacion.XSToNative(FormatDateTime('hh:mm:ss',now));

Saludos!
Responder Con Cita
  #23  
Antiguo 16-05-2019
alejango alejango is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
alejango Va por buen camino
Igual que todos

Ya logro el envio , pero a la hora de la respuesta no me da nada. He modificado e importado el wdsl me ha generado muy poco codigo y con errores.


Estoy atrancado con XE5 , por si avanza alguien. Pleaseeee......
Responder Con Cita
  #24  
Antiguo 16-05-2019
mtxtania mtxtania is offline
Registrado
 
Registrado: may 2019
Posts: 8
Poder: 0
mtxtania Va por buen camino
Cita:
Empezado por APO Ver Mensaje
Hola mtxtania,

Pues vaya con los de la AEAT! Bueno, de momento, puedes gestionarlo como lo estoy haciendo yo, que es trabajar sobre el XML de respuesta. Para ello, lo que yo he hecho es crear una variable de tipo TXMLDocument e ir recorriendo los nodos. Te pongo una muestra de ejemplo:

Código Delphi [-]
procedure TfrmMantenimientoTabla.ProcesarXML;
var
   XMLDocument: TXMLDocument;
   XMLDocumentBody, XMLDocumentRechazado, XMLDocumentAceptado: IXMLNode;
   i: integer;
begin
   XMLDocument:=TXMLDocument.Create(Self);
   XMLDocument.Active:=False;
   try
      XMLDocument.LoadFromXML(mXML.Text); //Memo donde tengo cargado el XML
      XMLDocument.Active:=True;
      for i:=0 to XMLDocument.DocumentElement.ChildNodes.Count-1 do
      begin
         if UpperCase(trim(XMLDocument.DocumentElement.ChildNodes[i].LocalName))='BODY' then
         begin
            XMLDocumentBody:=XMLDocument.DocumentElement.ChildNodes[i];
            for j:=0 to XMLDocumentBody.ChildNodes.Count-1 do
            begin
               if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE204' then
               begin
                  //MENSAJE RECHAZADO (Si el mensaje de respuesta tiene el nodo Ie204 es que ha sido rechazado)
                  XMLDocumentRechazado:=XMLDocumentBody.ChildNodes[j];
                  //...

               end
               else
               begin
                  //MENSAJE ACEPTADO
                  if UpperCase(trim(XMLDocumentBody.ChildNodes[j].LocalName))='IE201' then
                  begin
                     XMLDocumentAceptado:=XMLDocumentBody.ChildNodes[j];
                     //…
                  end;
               end;
            end;
         end;
      end;
   except

   end;
end;

Y respecto a la hora correcto, es como lo estoy haciendo yo también:

Código Delphi [-]
XML.Cabecera.HoraPreparacion.XSToNative(FormatDateTime('hh:mm:ss',now));

Saludos!

Muchas gracias!A ver si podemos hacerlo de otra forma!!
Responder Con Cita
  #25  
Antiguo 22-05-2019
mtxtania mtxtania is offline
Registrado
 
Registrado: may 2019
Posts: 8
Poder: 0
mtxtania Va por buen camino
Alguien tiene alguna novedad referente al desarrollo en Delphi?Sobre las respuestas a nil?
Responder Con Cita
  #26  
Antiguo 31-05-2019
alejango alejango is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
alejango Va por buen camino
venta en ruta

Se supone (y es mucho decir), que deberian de arreglarlo para antes de Julio
Responder Con Cita
  #27  
Antiguo 26-06-2019
mtxtania mtxtania is offline
Registrado
 
Registrado: may 2019
Posts: 8
Poder: 0
mtxtania Va por buen camino
Seguimos igual no?
Responder Con Cita
  #28  
Antiguo 10-07-2019
ja_73 ja_73 is offline
Miembro
 
Registrado: abr 2017
Posts: 20
Poder: 0
ja_73 Va por buen camino
hola
he conseguido hacer envíos de datos a AEAT, pero el problema lo tengo en las respuestas, que .NET no es capaz de deserializar el objeto.
por lo que estuve viendo, cuando me llega una respuesta del tipo IE225Tipo (nota de entrega) con el atributo <Marcadores/> vacío, no es capaz de deserializarlo, sin embargo, si viene con valor <Marcadores>1</Marcadores> funciona correctamente.
alguien sabe como puedo hacer para ignorar la deserialización del objeto Marcadores cuando viene vacía.
muchas gracias.


P.D.
No creo que vayan a modificar el webservice, mas bien nos tendremos que apañar nosotros, me temo que haciendo los envíos y recepciones "a pelo".
Responder Con Cita
  #29  
Antiguo 30-09-2019
paquimd paquimd is offline
Miembro
 
Registrado: feb 2017
Posts: 15
Poder: 0
paquimd Va por buen camino
Hola.

Yo estoy aún más atascada que vosotros. Estoy en .net y no consigo enviar nada. Me da siempre el siguiente error:

No se puede ir automáticamente al servidor. Error de conexion con el servidor "www7.eaat.es". ¿ Alguien puede darme algo de luz? Estoy empezando a desesperarme.


Saludos
Responder Con Cita
  #30  
Antiguo 02-01-2020
ipericole ipericole is offline
Registrado
 
Registrado: ene 2020
Posts: 2
Poder: 0
ipericole Va por buen camino
Hola amig@s,
Gracias a este hilo he conseguido respuesta del servicio web para el envio de albaranes. El problema lo tengo con el campo HoraPreparacion. Estoy programando en c# y la instrucion es tan secilla como cabecera.HoraPreparacion = DateTime.Now;
y la respuesta es "Formato de hora no válido" ValorOriginal "11:26:34.4458477+01:00". supongo le sobra la parte "+01:00" (lo he comprobado con SoapUI), pero entiendo que el formato lo obtiene de la definicion de campos por el servicio....


Agradeceria cualquier ayuda.
Saludos
Responder Con Cita
  #31  
Antiguo 08-01-2020
ipericole ipericole is offline
Registrado
 
Registrado: ene 2020
Posts: 2
Poder: 0
ipericole Va por buen camino
Cita:
Empezado por ja_73 Ver Mensaje
hola
he conseguido hacer envíos de datos a AEAT, pero el problema lo tengo en las respuestas, que .NET no es capaz de deserializar el objeto.
por lo que estuve viendo, cuando me llega una respuesta del tipo IE225Tipo (nota de entrega) con el atributo <Marcadores/> vacío, no es capaz de deserializarlo, sin embargo, si viene con valor <Marcadores>1</Marcadores> funciona correctamente.
alguien sabe como puedo hacer para ignorar la deserialización del objeto Marcadores cuando viene vacía.
muchas gracias.


P.D.
No creo que vayan a modificar el webservice, mas bien nos tendremos que apañar nosotros, me temo que haciendo los envíos y recepciones "a pelo".



Estoy en ese mismo punto... Lo has conseguido?
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Consumir Webservice darkerbyte Delphi para la web 5 17-11-2012 21:59:50
Consumir un webservice echo en delphi con php anahuel Delphi para la web 3 27-10-2012 08:20:42
Consumir WebService nasedo Varios 1 11-08-2011 15:32:57
Consumir Webservice MARLON1 Internet 0 06-07-2011 01:07:12
Problema al consumir un Webservice netcigos Varios 0 08-03-2004 16:09:30


La franja horaria es GMT +2. Ahora son las 16:56:52.


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