![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#11
|
|||
|
|||
|
Cita:
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 |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|