Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Colaboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 27-09-2024
jlmoli_67 jlmoli_67 is offline
Miembro
 
Registrado: feb 2024
Posts: 126
Poder: 3
jlmoli_67 Va por buen camino
Cita:
Empezado por richidemola Ver Mensaje
Puedes compartir el proceso de envío? Vamos, que como lo has enviado, si con algún lenguaje de programación, curl, llamada soap, es que no consigo enviar una mierda, he usado la url que pones y nada, he firmado el xml primero con autofirma y nada de nada.

Si tienes algo de código fuente de como lo envías y lo compartes pues te estaríamos eternamente agradecidos.

Gracias.
Buenas, en vb net lo hago asi:

Public Function validarCertificado(ByVal sender As Object, ByVal certificado As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal cadena As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslErrores As System.Net.Security.SslPolicyErrors) As Boolean
Return True
End Function


Por cierto... no es necesario que firmes el xmk. Tan solo firmar la peticion con tu certificado pfx

un saludo


Public Function SendSOAPRequest(ByVal soapRequest As String, ByVal url As String, ByVal certificatePath As String, ByVal certificatePassword As String) As String
Dim soapResponse As String = Nothing


Try


System.Net.ServicePointManager.SecurityProtocol = DirectCast(3072, System.Net.SecurityProtocolType)
System.Net.ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf validarCertificado)

' solicitud = DirectCast(System.Net.HttpWebRequest.Create(target), System.Net.HttpWebRequest)
' solicitud.Timeout = 2500



' Crear la solicitud web
Dim webRequest As HttpWebRequest = DirectCast(System.Net.HttpWebRequest.Create(url), System.Net.HttpWebRequest)
webRequest.Timeout = 2500
' webRequest.Headers.Add("SOAPAction", "AltaFactuSistemaFacturacion")
webRequest.ContentType = "text/xml;charset=""utf-8"""
webRequest.Accept = "text/xml"
webRequest.Method = "POST"

' Configurar el certificado
Dim certificate As X509Certificate2 = New X509Certificate2(certificatePath, certificatePassword)
webRequest.ClientCertificates.Add(certificate)

' Escribir la solicitud SOAP en el flujo de la solicitud web
Using streamWriter As StreamWriter = New StreamWriter(webRequest.GetRequestStream())
streamWriter.Write(soapRequest)
streamWriter.Flush()
streamWriter.Close()
End Using

' Obtener la respuesta
Using webResponse As WebResponse = webRequest.GetResponse()
Using streamReader As StreamReader = New StreamReader(webResponse.GetResponseStream())
soapResponse = streamReader.ReadToEnd()
End Using
End Using
Catch ex As Exception
' Manejar errores
MsgBox("Error en la solicitud SOAP: " & ex.Message)
Return "Error en la solicitud SOAP: " & ex.Message
End Try

Return soapResponse
End Function


' el siguiente botón hace la petición al servicio


Private Sub peticion_Click(sender As System.Object, e As System.EventArgs) Handles peticion.Click
Dim client As New SOAPClient()

' Ruta al archivo de certificado y contraseña del certificado
Dim certificatePath As String = "D:\documentos\certificado.pfx"
Dim certificatePassword As String = "xxxxxxxxxx"

' URL del servicio web SOAP
Dim url As String = "https://prewww1.aeat.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/VerifactuSOAP"

' en textbox1 meto el xml que previamente he generado
Dim soapRequest As String = TextBox1.Text



' Enviar la solicitud SOAP
Dim soapResponse As String = client.SendSOAPRequest(soapRequest, url, certificatePath, certificatePassword)
' en respuesta.xml meto la respuesta
My.Computer.FileSystem.WriteAllText("respuesta.xml", soapResponse, False)
' Manejar la respuesta SOAP

End Sub

No hace falta firmar el xml, tan solo la peticion con tu certificado pfx

Última edición por jlmoli_67 fecha: 27-09-2024 a las 19:52:08. Razón: Aclaracion
 



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
Hijo de Informáticos gluglu Humor 3 13-03-2007 11:05:35
Adictos informaticos ... Trigger Humor 2 11-10-2004 12:18:32
Nosotros los Informáticos Trigger Humor 1 10-10-2004 14:58:09
Patrón de los Informáticos. obiwuan Varios 20 10-09-2003 14:44:54
Chistes Informaticos jhonny Humor 2 11-08-2003 21:59:09


La franja horaria es GMT +2. Ahora son las 07:27:51.


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