Ver Mensaje Individual
  #350  
Antiguo 17-03-2017
jonortsal jonortsal is offline
Miembro
NULL
 
Registrado: mar 2017
Posts: 10
Reputación: 0
jonortsal Va por buen camino
¿Sabeís como puedo modificar este código que en principio me funciona para las facturas emitidas?
Quiero dos cosas:
1. Capturar el SOAP Request que envío y el Soap Response que recibo
2. Poder seleccionar un certificado de los disponibles. Ya que somos un grupo de empresas.

He utilizado el código VB.NET que comentaba el compañero poniendo el fichero xml en la carpeta y ya no me genera ningún error, pero no recibo respuesta. ¿Existe alguna forma de ver el mensaje SOAP de respuesta?


Dim store As Security.Cryptography.X509Certificates.X509Store = New Security.Cryptography.X509Certificates.X509Store(StoreName.My, StoreLocation.CurrentUser)
store.Open(Security.Cryptography.X509Certificates.OpenFlags.ReadOnly)

Dim CertificadoCorrecto As New System.Security.Cryptography.X509Certificates.X509Certificate2

' search store
' Dim col As New X509Certificate2Collection

'col = store.Certificates.Find(X509FindType.FindByIssuerName, "FNMT", True)




Dim ListCert As String = ""


For Each x In store.Certificates
MsgBox(x.Subject)

Next
Respuesta2RichTextBox.Text = ListCert

CertificadoCorrecto = store.Certificates(0) '(5)

' Objeto que almacenara la respuesta de la funcion del Web Service
Dim resp As New ServiceReference1.RespuestaLRFEmitidasType

' Ws
Dim Ws As New ServiceReference1.siiSOAPClient

Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
Ws.ClientCredentials.UseIdentityConfiguration = True

' Asignamos el certificado:
Ws.ClientCredentials.ClientCertificate.Certificate = CertificadoCorrecto
' ----------------------------------------------------------------------------------------


' ----------------------------------------------------------------------------------------
Dim _SuministroLRFacturasEmitidas As New SuministroLRFacturasEmitidas
'--------------------------------------------------------------------------

Try

Dim x As New XmlSerializer(_SuministroLRFacturasEmitidas.GetType, "https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/ssii/fact/ws/SuministroLR.xsd")

' A FileStream is needed to read the XML document.
Dim filename As String = "facturaEmitidaMODEL.XML"


Using reader As New FileStream(filename, FileMode.Open)
_SuministroLRFacturasEmitidas = CType(x.Deserialize(reader), SuministroLRFacturasEmitidas)
End Using

' SI QUEREMOS SOBREESCRIBIR EL XML ANTES DE ENVIAR:
' SOBREESCRIBIMOS DATS FORM ANTES SEND:
_SuministroLRFacturasEmitidas.Cabecera.Titular.NombreRazon = Trim(TextBoxRazonSocialEmisor.Text)
_SuministroLRFacturasEmitidas.Cabecera.Titular.NIF = Trim(TextBoxNIFEmisor.Text)

'(...)

'// se hace la llamada a la funcion suministrada por el WS
resp = Ws.SuministroLRFacturasEmitidas(_SuministroLRFacturasEmitidas)



Catch ex As Exception
MsgBox(ex.Message)
' Respuesta2RichTextBox = ex.Message
Finally
'Me.Cursor = Cursors.Default
'Threading.Thread.Sleep(5000)
'ProgressBar1.Style = ProgressBarStyle.Continuous
''ProgressBar1.Value = ProgressBar1.Maximum
End Try
Responder Con Cita