![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
Comprobar Conexión con la AEAT
Hola, Buenas noches.
Me ha parecido ver en los foros la respuesta buscando otra cosa, pero ahora que lo busco no lo encuentro. Cómo hacéis para comprobar la conexión con la AEAT, sin tener que enterarte durante el envío de un Registro de Facturación? Muchas Gracias !!! |
|
#2
|
||||
|
||||
|
Un poco tarde te respondo, pero yo compruebo asi la conexión ( no sé si te servirá ya que es php ):
Código PHP:
__________________
La religión es personal e intransferible. |
|
#3
|
|||
|
|||
|
Hola, buenos días.
Muchas gracias por tu respuesta. Tuve mi momento con PHP, pero pasó hace mucho tiempo y sinceramente no lo entiendo. Huso Delphi12, y al final he resuelto la papeleta realizando una consulta , que sé que no hay resultados, pero si me viene relleno la cabecera, sé que la AEAT me ha contestado. No es la forma más eficiente, pero me vale. Saludos |
|
#4
|
||||
|
||||
|
Basicamente hace lo mismo que dices, solo recibe cabecera de vuelta, y depende de cual sea (200 ok) pues me dice si se ha podido conectar o no.
__________________
La religión es personal e intransferible. |
|
#5
|
|||
|
|||
|
Cita:
Y así metemos en el mismo paquete la conexion web + disponibilidad server Db2 |
|
#6
|
|||
|
|||
|
Hola, estoy intentando hacer algo parecido pero a parte de la conexión con el servidor también quiero comprobar que el certificado y la clave indicadas son correctas, y que el nif también. Digamos que esté todo listo para entrar facturas.
Me suena que había una conexión para pedir el último registro que se ha enviado pero no logro encontrarlo. Una conexión de este tipo sería ideal ya que no modifica nada y además permite comprobar que todos los parámetros están bien configurados. Alguien sabe la petición que se debe hacer? Saludos! |
|
#7
|
||||
|
||||
|
Esto:
Cita:
__________________
Uno se alegra de ser útil. (Isaac Asimov) |
|
#8
|
|||
|
|||
|
Es fantástico, muchas gracias !!! No lo estaba encontrando.
|
|
#9
|
|||
|
|||
|
Cita:
Buenas, Hoy me ha tocado dejar cerrado el tema de comprobar la conexion antes del envio. En un primer momento utilice el metodo de enviar una consulta en toda regla y segun la respuesta pues determinaba si la conexion a la aeat se establecia o no. Despues me parecio interesante el metodo en php expuesto mas arriba y lo he estado probando pero da error en el sentido de que el wsdl puede no responder con el servicio verifactu estando activo por lo tanto no vale. Por ultimo he hecho una funcion en la que me muestra si la conexion se establece o no recogiendo la respuesta al intentar conectar a la url a la que se envia la consulta pero sin enviar el xml de consulta y por tanto me evito tener que rellenar los parametros de la consulta. en vb .net: Código:
Public Function VerificarServicioAEAT(url As String, rutaCertificadoPFX As String, passwordCertificado As String) As Boolean
Try
' Forzar protocolo TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = DirectCast(3072, System.Net.SecurityProtocolType)
' Cargar certificado
Dim cert As New X509Certificate2(rutaCertificadoPFX, passwordCertificado)
' Preparar la solicitud
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.ContentLength = 0
request.ClientCertificates.Add(cert)
request.Timeout = 10000
' Intentar obtener respuesta
Using response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
MsgBox("Código de respuesta: " & response.StatusCode)
Return response.StatusCode = HttpStatusCode.OK OrElse response.StatusCode = HttpStatusCode.Accepted
End Using
Catch ex As WebException
If ex.Response IsNot Nothing Then
Using resp = CType(ex.Response, HttpWebResponse)
MsgBox("Error HTTP: " & resp.StatusCode.ToString())
MsgBox("Descripción: " & resp.StatusDescription)
End Using
Else
MsgBox("Error sin respuesta HTTP: " & ex.Message)
End If
Return False
Catch ex As Exception
MsgBox("Error general: " & ex.Message)
Return False
End Try
End Function
VerificarServicioAEAT("https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP", "c:\certificados\micertificado.pfx", passwordCertificado) un saludo |
|
#10
|
|||
|
|||
|
Buenos días,
Desde ayer a las 12:58 el response.StatusCode es "299 - Undefined". No sé si es que esta comprobación ha dejado de funcionar o que ha habido algún cambio en la AEAT. La verdad es q es un pena pq funcionaba muy bien. Muchas gracias. |
|
#11
|
|||
|
|||
|
Buenas,
En principio el mismo codigo 299 ya significaria que el servicio esta funcionando ya que no es un código de estado HTTP estándar por lo tanto el servicio lo ha asignado como respuesta. Seguramente lo asignaran a los mensajes soap que carecen de xml. Faltaria comprobar esto que te digo llamando a la funcion en un momento en el que realmente el servicio este caido. Intentare comprobarlo. Los viernes por la noche suelen pararlo para hacer "sus cositas". Esta es la cabecera de respuesta (luego hay respuesta): Código:
dit-niu: 55000611386 dit-tarea: 7190 dit-servidor: WLP00402 dit-idpeticion: 20250713101103269026 x-ua-compatible: IE=7 Content-Length: 253 Content-Type: text/xml; charset=UTF-8 Date: Sun, 13 Jul 2025 08:11:03 GMT Set-Cookie: CERT_WWW1=67CECE645A1A038662C70C21B90FD0829C6022BACB433FE56F92234B2D3A2CA665A4AB87BF542710B93416FC106266A9B88DAA70C5F2A775B856E87D8CC69DFB1562A823482261607AE84A8DA0F0CA840A0AD3FEM2kLpaFKkQfHR6To7qnvuBi5KmUH55X01WwoypqxmWzw7sqeMEpkYTcFXyt6T3rPP759aYLKch20tIY9TdVtW9kIKheF1AWPwtdfcuKZW+iu5KjbiyyuHt3qKJo3lIyYuejrZRHwNJ3/DX70rgGNDxws8NBSsJGIec6YG1cJ0/GOOCl6VQefTu6PHnlunvOW2iEyxAK6cOHnV+cj24iXhytm0jMIAsq+Of4EBRG9dHgc2C7iPaOY1/z5hL9rbAlpcnFxMkR6xTMTP9Z1yElf6fPqhNNeatfDeCRVB7UQepVThNsaVqVEXYdd1/cAiXwokndH+QOEkIhkauVSxv2ccE3o4xhQe3CztrZnzSDBsdXFBxN7JDsEafl5ArrH2EcDtjOV53XqyrVf+cj0mIzWs5hih81ZLiA==; Domain=.aeat.es; Path=/; HttpOnly; Secure,CERT_WWW1V=20250713-09410326; Domain=.aeat.es; Path=/; Secure,sgat_id_usr_sede=%7B%22tipoAcceso%22%3A%22C%22%2C%22fechaYHora%22%3A%2220250713101103270%22%2C%22nombre%22%3A%22MOLINA%20MU%C3%91OZ%20JOS%C3%89%20LUIS%22%7D; Domain=.aeat.es; Path=/; Secure dit-codigo-respuesta: 99999 content-language: es-ES expires: Thu, 01 Dec 1994 16:00:00 GMT cache-control: no-cache="set-cookie, set-cookie2" x-site: Sede referrer-policy: strict-origin-when-cross-origin x-xss-protection: 1; mode=block strict-transport-security: max-age=31536000; includeSubDomains content-security-policy: frame-ancestors 'self' *.aeat.es Última edición por Neftali [Germán.Estévez] fecha: 14-07-2025 a las 08:30:20. Razón: Añadir Tags par que se lea mejor |
|
#12
|
|||
|
|||
|
Bueno, lo he solucionado con ayuda del Sr. Copilot que me ha echado una mano
...Simplemente añado "HEAD" en la preparación de la solicitud, para saber solo si responde el servicio, ignorando el contenido. Quedaría así: Código:
' Preparar la solicitud
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
request.Method = "POST"
request.ContentLength = 0
request.ClientCertificates.Add(cert)
request.Timeout = 10000
request.Method = "HEAD" 'COPILOT --> Solo solicita los encabezados
' Obtener respuesta
Using response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Return response.StatusCode = HttpStatusCode.OK
End Using
...Muchas gracias por la ayuda jlmoli_67!!! |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Comprobar conexión con Delphi | dante148 | Conexión con bases de datos | 1 | 02-11-2011 05:13:37 |
| Comprobar conexion antes de conectar | jandro | Conexión con bases de datos | 7 | 09-09-2010 16:27:17 |
| comprobar conexion ftp exitosa... | Greco | Internet | 3 | 04-09-2008 15:14:05 |
| Comprobar si existe un directorio en una conexión FTP | developerManu | Varios | 4 | 24-10-2005 13:27:47 |
| Comprobar la conexion al servidor de bd | fjolivares | Conexión con bases de datos | 5 | 30-01-2004 11:01:14 |
|