Hola,
Me estreno en el foro, yo estoy desarrollando con VB/C#
Os pego como lo hago yo para subir facturas emitidas, esta todo de prueba:
Tengo un bucle For para simular la generación varias facturas, me conecto sin problema y recibo resultado de cada uno de los registros.
Dim MensajeError As String = ""
Dim MensajeAcierto As String = ""
Dim sFactura As String = ""
Dim sRutaCert As String = ""
' Dim Mails As New LNclsMail
Dim decodedBytes As Byte()
decodedBytes = Convert.FromBase64String(My.Settings.ClaveCertificado)
Dim sClaveCert As String
sClaveCert = Encoding.UTF8.GetString(decodedBytes)
'Obtener certificado desde fichero p12
sRutaCert = System.AppDomain.CurrentDomain.BaseDirectory() & My.Settings.NombreCertificado
cert = New System.Security.Cryptography.X509Certificates.X509Certificate2(sRutaCert, sClaveCert)
'Se llama a la clase siiService, creada a partir del WS y cambiando el inherits por : Microsoft.Web.Services3.WebServicesClientProtocol
Dim webserviceProxy As New siiFacturasEmitidas
webserviceProxy.ClientCertificates.Add(cert)
Dim signatureToken As X509SecurityToken = GetSecurityToken()
Dim requestContext As SoapContext = webserviceProxy.RequestSoapContext
requestContext.Security.Tokens.Add(signatureToken)
Dim sig As New MessageSignature(signatureToken)
requestContext.Security.Timestamp.TtlInSeconds = 60
requestContext.Security.Elements.Add(sig)
Dim testC As New SuministroLRFacturasEmitidas
Dim cab As New CabeceraSii
Dim fac As New LRfacturasEmitidasType
Dim resul As RespuestaLRFEmitidasType
Dim perso As New PersonaFisicaJuridicaESType
perso.NIF = "XXXXXXXXX"
perso.NombreRazon = "Empresa de pruebas"
cab.Titular = perso
cab.TipoComunicacion = "0"
testC.Cabecera = cab
For i = 20 To 30
Dim fras As New LRfacturasEmitidasType
Dim perio As New RegistroSiiPeriodoImpositivo
perio.Ejercicio = 2015
perio.Periodo = "01"
fras.PeriodoImpositivo = perio
Dim idfra As New IDFacturaExpedidaType
Dim empresa As New IDFacturaExpedidaTypeIDEmisorFactura
Dim cver As New VersionSiiType
cab.IDVersionSii = cver.Item05
empresa.NIF = "XXXXXXXXXXX"
idfra.IDEmisorFactura = empresa
idfra.NumSerieFacturaEmisor = i + 10
idfra.FechaExpedicionFacturaEmisor = "15-01-2015"
fras.IDFactura = idfra
Dim fraexp As New FacturaExpedidaType
fraexp.TipoFactura = "1"
fraexp.ClaveRegimenEspecialOTrascendencia = "01"
fraexp.ImporteTotal = "26.70"
fraexp.DescripcionOperacion = "Compra xxxxxxxxx"
fras.FacturaExpedida = fraexp
Dim persona As New PersonaFisicaJuridicaType
persona.NombreRazon = "Empresa yyyyyyy"
persona.NIFRepresentante = "94235500B"
Dim contrap As New PersonaFisicaJuridicaType
contrap = persona
Dim sujeta As New SujetaType
Dim sujetanoexenta As New SujetaTypeNoExenta
Dim detalleiva As New DetalleIVAEmitidaType
Dim tpdesglose As New TipoSinDesgloseType
Dim desglose As New FacturaExpedidaTypeTipoDesglose
sujetanoexenta.TipoNoExenta = sujetanoexenta.TipoNoExenta.S1
ReDim sujetanoexenta.DesgloseIVA(0)
detalleiva.TipoImpositivo = "21"
detalleiva.BaseImponible = "22.07"
detalleiva.CuotaRepercutida = "4.63"
detalleiva.TipoRecargoEquivalencia = 0
detalleiva.CuotaRecargoEquivalencia = 0
sujetanoexenta.DesgloseIVA(0) = detalleiva
sujeta.NoExenta = sujetanoexenta
tpdesglose.Sujeta = sujeta
desglose.Item = tpdesglose
fraexp.TipoDesglose = desglose
Dim cfra As New LRConsultaEmitidasType
Dim cfil As New LRFiltroEmitidasType
Dim ccla As New IDFacturaExpedidaBCType
Dim cempr As New IDFacturaExpedidaBCTypeIDEmisorFactura
Dim ccab As New CabeceraConsultaSii
Dim cper As New PersonaFisicaJuridicaUnicaESType
Dim cperio As New RegistroSiiPeriodoImpositivo
Dim cperio2 As New RegistroSiiPeriodoImpositivo
ccla.FechaExpedicionFacturaEmisor = "15-01-2015"
cempr.NIF = "XXXXXXXXX"
ccla.IDEmisorFactura = cempr
ccla.NumSerieFacturaEmisor = "1"
cfil.ClavePaginacion = ccla
cperio.Ejercicio = 2015
cperio2.Ejercicio = 2015
cperio2.Periodo = "01"
cfil.PeriodoImpositivo = cperio2
cfra.FiltroConsulta = cfil
cfra.FiltroConsulta.ClavePaginacion = ccla
ReDim Preserve testC.RegistroLRFacturasEmitidas(i)
testC.RegistroLRFacturasEmitidas(i) = fras
Next i
resul = webserviceProxy.SuministroLRFacturasEmitidas(testC)
|