Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo Hace 4 Semanas
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 128
Poder: 12
ramherfer Va por buen camino
A ver, yo sigo con el tema de comprobación del servicio soap esté activo o no. Soy cabezón por naturaleza

He estado probando con el tema de consulta vacia a la AEAT, pero me da errores "Consultando a la AEAT" y la verdad, tampoco he conseguido averiguar el motivo, ya que la consulta esta calcada de la que se realiza en la pantalla de consultas que funciona a la perfección.

Si la comprobación la realizo solo al entrar en la aplicación, tengo el inconveniente que si la aplicación no se cierra y el servicio deja de estar activo y se emite una o varias facturas, ya tenemos el lio montado.

Si la comprobación la realizo antes de realizar un envío, se va a poner a realizar consulta tras consulta hasta que detecte que el servicio está activo y la envie.

Todo ello desconociendo si hay algún limite de consultas, o si la operación de consultas continuadas puede desembocar en algún tipo de baneo por parte de mis amigos de la AEAT.

Entonces basandome en que la URL del EndPoint de mis amigos del fisco responde con una redirección, eso debiera bastar para indicar que está activo ya que si no se encuentra activo, no debiera de haber respuesta con esa redirección. Entonces con la siguiente función trato de hacer esa comprobación que activaría o desactivaría un flag y la imagen correspondiente en el StatusBar para que el usuario sea consciente en todo momento de como está el patio. La he probado con https://prewww1.aeat.es/wlpl/TIKE-CO.../VerifactuSOAP y con https://prewww1.aeat.es/wlpl/TIKE-CO...factuSOAP?wsdl y aparentemente cumple su función.

Código Delphi [-]
 
Function VerificarServicioSOAP(URL:String): Boolean;
var
  HTTP: TIdHTTP;
  SSLIO: TIdSSLIOHandlerSocketOpenSSL;

begin
  result := false;

  HTTP := TIdHTTP.Create(nil);
  SSLIO := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);

  try
    try
      // Forzar el uso de TLS 1.2
      SSLIO.SSLOptions.Method := sslvTLSv1_2;
      SSLIO.SSLOptions.Mode := sslmClient;
      HTTP.IOHandler := SSLIO;

      HTTP.Head(URL);
      //ShowMessage(Format('%s Disponible', [url]));
      result := true;
    except
      on E: EIdHTTPProtocolException do
      begin
        if (E.ErrorCode = 302) then begin
          //ShowMessage(Format('%s Disponible (Redireccionando)', [url]));
          result := True;
        end else begin
          //ShowMessage(Format('%s No Disponible: %s', [URL, E.Message]));
          result := False;
        end;
      end;
      on E: Exception do
        //ShowMessage(Format('%s No Disponible: %s', [URL, E.Message]));
    end;
  finally
    HTTP.Free;
  end;

end;

No se si estoy en un error. A ver que os parece y me alegraría que fuera válido.

Un saludo,
__________________
Se humilde para admitir tus errores, inteligente para aprender de ellos y maduro para corregirlos.
Responder Con Cita
 



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
Verifactu o por requerimiento (no-verifactu) ¿decisión del usuario? Maska10 Temas legales 2 07-12-2024 12:34:47
Demo de una applicación para una estación de enfermera con RAD Studio AgustinOrtu La Taberna 1 21-07-2015 17:41:35
Demo Delphi, EMail Caral Internet 1 19-12-2006 00:37:56
Demo de delphi 2005 mazinger Varios 2 18-12-2004 09:23:09
El Rave que viene con Delphi es una Demo? apicito Impresión 0 04-06-2003 11:33:36


La franja horaria es GMT +2. Ahora son las 18:51:15.


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