FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1161
|
||||
|
||||
Cita:
|
#1162
|
||||
|
||||
Cita:
Batuz = Fichero_TicketBAI [1..N] incrustado en LROE => Bizkaia TicketBAI = Fichero_TicketBAI [1] => Guipuzkoa y Árava
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#1163
|
||||
|
||||
Cita:
Tal como dice [keys] como es algo nuevo, se supone que en la reunión lo explicarán y publicarán los esquemas y ejemplos. NOTA: Los más listos, los de Álava, que están esperando que los demás se den de cabezazos contra las paredes hasta que lo tengan claro y luego entrar ellos (al menos espero que aprovechen la "experiencia" de los ortros 2).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#1164
|
|||
|
|||
Esperemos que en Alava se inspiren en lo que tienen en Guipuzkoa, asi no habra que hacer muchos cambios
|
#1165
|
|||
|
|||
Cita:
He preguntado directamente a Álava sobre su implantación, y me reponden lo siguiente: En la Disposición Transitoria Única se establece el calendario previsto de implantación que, conforme a lo dispuesto en el punto 3, la Diputada Foral de Hacienda, Finanzas y Presupuestos podrá modificar mediante la oportuna Orden Foral. 01/01/2022 voluntario 01/04/2022 asesorías 01/07/2022 actividades profesionales y farmacias 01/10/2022 el resto de contribuyentes Saludos |
#1166
|
|||
|
|||
Cita:
Las especificaciones indican que la firma debe ser de tipo EPES y en vuestro caso la firma que incluís es de tipo BES. Hasta donde yo se la diferencia entre una firma BES y una EPES es justamente la introducción de la información contenida en esos parámetros. Sigo mirándolo, si encuentro algo lo compartiré por aquí. |
#1167
|
||||
|
||||
Cita:
Cita:
Bueno, recordad que estamos todos en formación testudo, dicho de otra manera somos una piña, si encuentro alguna solución os la podré por aquí, venga ánimo a todos. |
#1168
|
|||
|
|||
Cita:
En una pelea de gallos es fácil distinguir a cada uno. El de Bizkaia lleva un gallo. El de Gipuzkoa lleva un pato. Y el de Álava es el que apuesta por el pato. Saludos y perdón por el inciso, pero no he podido aguantarme |
#1169
|
|||
|
|||
Cita:
y segun google XAdES-BES. Forma básica que simplemente cumple los requisitos legales de la Directiva para firma electrónica avanzada XAdES-EPES. Es un XAdES-BES al que se le incorpora información sobre la política de firma, como pudiera ser aquella información sobre el certificado empleado y la CA que lo emitió. Última edición por sEngine fecha: 22-07-2021 a las 16:36:51. |
#1170
|
|||
|
|||
Cita:
Ese NIF no es español. Creo que debes detallarlo así: <Destinatarios> <IDDestinatario> <IDOtro> <IDType>04 (o el que corresponda)</IDType> <ID>NL855820627B01</ID> </IDOtro> <ApellidosNombreRazonSocial>ITX MERKEN B.V.</ApellidosNombreRazonSocial> </IDDestinatario> </Destinatarios> Valores posibles para IDType: 02 NIF-IVA. 03 Pasaporte. 04 Documento oficial de identificación expedido por el país o territorio de residencia. 05 Certificado de residencia. 06 Otro documento probatorio. |
#1171
|
|||
|
|||
Enviar Alta a Gipuzkoa (en pruebas)
Tengo problemas para subir el fichero de alta TicketBAI al entorno de pruebas de Gipuzkoa. No entiendo muy bien qué está ocurriendo. Estoy haciendo el script en C#. En los diferentes métodos que he empleado me ocurren dos tipos de problema:
[Problema 1:] Código:
<ResultadosValidacion> <Codigo>002</Codigo> <Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. No se ha podido procesar el mensaje. Detalle del error: Content is not allowed in prolog.</Descripcion> <Azalpena>Errorea: TicketBAI altako fitxategiak ez du betetzen XSD eskema. Mezua ezin da prozesatu. Errorearen xehetasuna: Content is not allowed in prolog.</Azalpena> </ResultadosValidacion> Código:
string urlconexion = "h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta"; string file = @"D:\Datos_Desarrollo\tBAI\6936.XSIG"; var client = new RestClient(urlconexion); client.ClientCertificates = new X509CertificateCollection() { certificate }; var restrequest = new RestRequest(Method.POST); restrequest.AddHeader("Content-Type", "application/xml;charset=UTF-8"); restrequest.AddFile("mifichero", file, "text/xml"); IRestResponse response = client.Execute(restrequest); System.Diagnostics.Debug.WriteLine(response.Content); IRestResponse es un contenedor de RestSharp que recoge la respuesta del servidor. certificate es una instancia de la clase X509Certificate2 de System.Security.Cryptography.X509Certificates [Problema 2:] Código:
<ResultadosValidacion> <Codigo>007</Codigo> <Descripcion>Error: Certificado remitente no válido para emisor factura.</Descripcion> <Azalpena>Errorea: Bidaltzailearen ziurtagiria ez da baliagarria fakturaren egilearentzat.</Azalpena> </ResultadosValidacion> Código:
string urlconexion = "h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta"; string file = @"D:\Datos_Desarrollo\tBAI\6936.XSIG"; HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(urlconexion); wr.ContentType = "application/xml;charset=UTF-8"; wr.Method = "POST"; wr.ClientCertificates = new X509CertificateCollection() { certificate }; Stream rs = wr.GetRequestStream(); rs = wr.GetRequestStream(); FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read); byte[] buffer = new byte[4096]; int bytesRead = 0; while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0) { rs.Write(buffer, 0, bytesRead); } WebResponse wresp = null; try { wresp = wr.GetResponse(); Stream stream2 = wresp.GetResponseStream(); StreamReader reader2 = new StreamReader(stream2); System.Diagnostics.Debug.WriteLine(reader2.ReadToEnd()); } certificate es igualmente una instancia de la clase X509Certificate2 de System.Security.Cryptography.X509Certificates Me imagino que en este segundo caso el problema puede estar en la manipulación del fichero (por haberlo subido como stream) pero no veo cómo comprobarlo. Si alguien me pudiera echar una mano se lo agradecería tanto como el tiempo que llevo tratando de encontrar una solución (un mogollón). Gracias ya por haberme leido. Última edición por unomasmas fecha: 22-07-2021 a las 23:51:58. Razón: Mejorar la visibilidad del código insertado |
#1172
|
||||
|
||||
Buenas!
Yo también estoy desarrollando la solución en C# así que a ver si algo te puedo ayudar... En primer lugar, si podrías postear el fichero XML que envías y que también me dijeras qué certificado estás usando. Cabe recordar que el orden de los elementos en el XML es importante que sea acorde al XSD y que la petición de alta al servicio la estés realizando con el certificado también (además de firmar con él), aunque veo que sí, podrías probar en POSTMAN previamente o algo. Yo hice esto para ir descartando estos errores, te lo recomiendo. Por cierto, cómo estás firmando el XML? (Esto ya porque a mí me interesa ver otras opciones jeje) Un saludo. |
#1173
|
||||
|
||||
Cita:
Lo digo por compararlo con otros. También puedes comprar tú mismo la estructura del que estás enviando con algunos de los ejemplos que hay en los mensajes del foro o los que te puedes descargar, a ver si te estás olvidando algún nodo (ya no sólo de los datos, sino de las firmas,...) En cuanto al segundo, si revisas mensajes anteriores ya hemos hablado de él también. El certificado debe ser válido (de producción por decirelo así), no valen certificados de prueba. ¿Qué tipo de certificado estás utilizando? También puedes escribirles un mail con el fichero que estás enviando y los errores que te dan; Para el primer caso te dirán qué te falta y para el segundo caso, te darán de alta el certificado (si es necesario) y lo asociarán a los datos que estás usando para el envío (NIF / RAZON SOCIAL).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#1174
|
||||
|
||||
Cita:
|
#1175
|
|||
|
|||
Cita:
Buenas. Yo también estoy con C#, aunque no utilizo RestSharp, sino HttpClient. En el caso del problema 2, tiene pinta de que el nombre del emisor de la factura, no coincide con el del certificado, y así tiene que ser. El certificado tiene que ser el del propio obligado tributario, que tiene que coincidir con el emisor de la factura. |
#1176
|
|||||||
|
|||||||
Es un poco tocho :-(. Ahí va. He cambiado/quitado algún dato para "anonimizarlo" pero la estructura se mantiene
Código:
<?xml version="1.0" encoding="utf-8"?> <T:TicketBai xmlns:T="urn:ticketbai:emision"> <Cabecera> <IDVersionTBAI>1.2</IDVersionTBAI> </Cabecera> <Sujetos> <Emisor> <NIF>xxxxxxxxx</NIF> <ApellidosNombreRazonSocial>Empresa para Desarrollo</ApellidosNombreRazonSocial> </Emisor> <Destinatarios> <IDDestinatario> <IDOtro> <CodigoPais>DE</CodigoPais> <IDType>03</IDType> <ID>U85XXXXX</ID> </IDOtro> <ApellidosNombreRazonSocial>CLIENTE</ApellidosNombreRazonSocial> <CodigoPostal>28036</CodigoPostal> <Direccion>C/ Inexistente. Madrid. ESP</Direccion> </IDDestinatario> </Destinatarios> <VariosDestinatarios>N</VariosDestinatarios> <EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario> </Sujetos> <Factura> <CabeceraFactura> <SerieFactura>2021-</SerieFactura> <NumFactura>0008</NumFactura> <FechaExpedicionFactura>27-05-2021</FechaExpedicionFactura> <HoraExpedicionFactura>00:00:00</HoraExpedicionFactura> <FacturaSimplificada>N</FacturaSimplificada> <FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada> </CabeceraFactura> <DatosFactura> <FechaOperacion>27-05-2021</FechaOperacion> <DescripcionFactura></DescripcionFactura> <DetallesFactura> <IDDetalleFactura> <DescripcionDetalle>Un servicio</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>2000.00000000</ImporteUnitario> <Descuento>0.00</Descuento> <ImporteTotal>2420.00</ImporteTotal> </IDDetalleFactura> <IDDetalleFactura> <DescripcionDetalle>Producto 1</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>5.83710987</ImporteUnitario> <Descuento>1.17</Descuento> <ImporteTotal>5.65</ImporteTotal> </IDDetalleFactura> <IDDetalleFactura> <DescripcionDetalle>Producto 2</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>2363.79000000</ImporteUnitario> <Descuento>756.41</Descuento> <ImporteTotal>1944.93</ImporteTotal> </IDDetalleFactura> <IDDetalleFactura> <DescripcionDetalle>Producto 3 (Exento)</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>200.00000000</ImporteUnitario> <Descuento>0.00</Descuento> <ImporteTotal>200.00</ImporteTotal> </IDDetalleFactura> <IDDetalleFactura> <DescripcionDetalle>Producto 4 (No sujeto)</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>400.00000000</ImporteUnitario> <Descuento>0.00</Descuento> <ImporteTotal>400.00</ImporteTotal> </IDDetalleFactura> <IDDetalleFactura> <DescripcionDetalle>Producto 5</DescripcionDetalle> <Cantidad>1.00</Cantidad> <ImporteUnitario>79.80172200</ImporteUnitario> <Descuento>15.96</Descuento> <ImporteTotal>77.25</ImporteTotal> </IDDetalleFactura> </DetallesFactura> <ImporteTotalFactura>4543.04</ImporteTotalFactura> <RetencionSoportada>0.00</RetencionSoportada> <Claves> <IDClave> <ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia> </IDClave> </Claves> </DatosFactura> <TipoDesglose> <DesgloseTipoOperacion> <PrestacionServicios> <Sujeta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> <DesgloseIVA> <DetalleIVA> <BaseImponible>1800.00</BaseImponible> <TipoImpositivo>21.00</TipoImpositivo> <CuotaImpuesto>378.00</CuotaImpuesto> <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia> <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado> </DetalleIVA> </DesgloseIVA> </DetalleNoExenta> </NoExenta> </Sujeta> </PrestacionServicios> <Entrega> <Sujeta> <Exenta> <DetalleExenta> <CausaExencion>E1</CausaExencion> <BaseImponible>180.00</BaseImponible> </DetalleExenta> </Exenta> <NoExenta> <DetalleNoExenta> <TipoNoExenta>S1</TipoNoExenta> <DesgloseIVA> <DetalleIVA> <BaseImponible>1508.30</BaseImponible> <TipoImpositivo>21.00</TipoImpositivo> <CuotaImpuesto>316.74</CuotaImpuesto> <TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia> <CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia> <OperacionEnRecargoDeEquivalenciaORegimenSimplificado>N</OperacionEnRecargoDeEquivalenciaORegimenSimplificado> </DetalleIVA> </DesgloseIVA> </DetalleNoExenta> </NoExenta> </Sujeta> <NoSujeta> <DetalleNoSujeta> <Causa>OT</Causa> <Importe>360.00</Importe> </DetalleNoSujeta> </NoSujeta> </Entrega> </DesgloseTipoOperacion> </TipoDesglose> </Factura> <HuellaTBAI> <EncadenamientoFacturaAnterior> <SerieFacturaAnterior>2021-</SerieFacturaAnterior> <NumFacturaAnterior>0007</NumFacturaAnterior> <FechaExpedicionFacturaAnterior>13-03-2021</FechaExpedicionFacturaAnterior> <SignatureValueFirmaFacturaAnterior>asdf</SignatureValueFirmaFacturaAnterior> </EncadenamientoFacturaAnterior> <Software> </Software> </HuellaTBAI> <ds:Signature xmlns:ds="h t t p://w w w . w3.org/2000/09/xmldsig#" Id="Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="h t t p://w w w . w3.org/TR/2001/REC-xml-c14n-20010315" /><ds:SignatureMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmldsig-more#rsa-sha256" /><ds:Reference Id="Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8" URI=""><ds:Transforms><ds:Transform Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#enveloped-signature" /></ds:Transforms><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>o1QqNl5sJpAl65C/BqAYVhusYNSi6ohFRmcOlj/XvS0=</ds:DigestValue></ds:Reference><ds:Reference Id="ReferenceKeyInfo" URI="#KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>9Ot9CoT4axGDWrd2B2KUoiGUM9dotSbXN7VTW1ZSEzg=</ds:DigestValue></ds:Reference><ds:Reference Type="h t t p://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>ou5WE9zmPnbJIGd/8a1PdT8yjojsvnRHQL5mU/CUB6Y=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="SignatureValue-de680881-c7b4-47c6-aba5-6587d516d7f8">ndpqqvNMKU7TLGzTuFaA34shuQMMV6D8i18U21wxr4uPVCOh79W6ws9Uaf/9v2xLeAJG0Xuxb7Tun5akz6v+lw/JthiulnG23G8No7FARMBi3/JvqPfWQT/3dZs/858JQRg5qOBSxy1UiXHrgHk8mwzAw8PqvmJX+Ah9RsBM9nHmvDW/Ezj+D6SgTinwUbe5AgxZ2FCubMpEf4BA0oBmkNgno4Gu62huvYYcm/XTfzuBgJsPWmF8Y2AB3YlMEZBqdZT7uSJYFoYLbku26UV8WQU9eQbErxFPI+3eiqqq+g0cKlq0mYmeQms9NAjWjJyOEYAZy6noD1OxghMzhsmbWw==</ds:SignatureValue><ds:KeyInfo Id="KeyInfoId-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><ds:X509Data><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data><ds:KeyValue><ds:RSAKeyValue><ds:Modulus>qqnHp05M8zTtA1mOGyn52Zg2MxIdVoq0i+nq1UBsyD0YTbDvrFxorop1lVmwD9zFcU7g97YYHzUh6ZKzrDBxRR5DuEj7ZWxmM8zdrUE4qj4RPaEn56yBspcfsXAnAElWhi8ZO6upkdwezKplh0sIv9rC3yVEmenUA+t3vpjvUjuVI83M8E2OmlO9wspX7oAagyG86X79QLoUCiMNaklhtts/bAhjaUf1NjiByA1oVJ/h5vPXRmjzIMSYOG4Nqx6oDS4EDjzodr9qWWR/rO/y8pAANFvhPviGC30oLEDU9QeImrYt9hLRHiI3Z3f+k8bthyY/NHw97LARgkl46UkQOQ==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></ds:KeyValue></ds:KeyInfo><ds:Object Id="XadesObjectId-57c1a5af-ffe1-461d-88df-f9eff65f7ae3"><xades:QualifyingProperties xmlns:xades="h t t p://uri.etsi.org/01903/v1.3.2#" Id="QualifyingProperties-1175f181-69af-4b92-89cd-01f8370fc991" Target="#Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedProperties Id="SignedProperties-Signature-de680881-c7b4-47c6-aba5-6587d516d7f8"><xades:SignedSignatureProperties><xades:SigningTime>2021-07-22T07:25:38+02:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>4BZFYhzQCbqva/Vw8wyM2GXhf8lML3xaiMioujojtqQ=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>CN=AC FNMT Usuarios, OU=Ceres, O=FNMT-RCM, C=ES</ds:X509IssuerName><ds:X509SerialNumber>348708523848XXXXXXXXXXXX13XX4566539550</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate><xades:SignaturePolicyIdentifier><xades:SignaturePolicyId><xades:SigPolicyId><xades:Identifier>h t t p://ticketbai.eus/politicafirma</xades:Identifier><xades:Description /></xades:SigPolicyId><xades:SigPolicyHash><ds:DigestMethod Algorithm="h t t p://w w w . w3.org/2000/09/xmldsig#sha1" /><ds:DigestValue>Ohixl6upD6av8N7pEvDABhEL6hM=</ds:DigestValue></xades:SigPolicyHash></xades:SignaturePolicyId></xades:SignaturePolicyIdentifier><xades:SignerRole><xades:ClaimedRoles><xades:ClaimedRole>emisor</xades:ClaimedRole><xades:ClaimedRole>sujeto</xades:ClaimedRole><xades:ClaimedRole>SERIALNUMBER</xades:ClaimedRole></xades:ClaimedRoles></xades:SignerRole></xades:SignedSignatureProperties><xades:SignedDataObjectProperties><xades:DataObjectFormat ObjectReference="#Reference-1fd8f7a2-64b2-4853-be4d-6d09a5f4acf8"><xades:MimeType>text/xml</xades:MimeType><xades:Encoding>UTF-8</xades:Encoding></xades:DataObjectFormat></xades:SignedDataObjectProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></T:TicketBai> Cita:
Cita:
Cita:
Cita:
Cita:
Código:
public void FirmaDoc() { XadesService xadesService = new XadesService(); SignatureParameters parametros = new SignatureParameters(); parametros.SignaturePolicyInfo = new SignaturePolicyInfo(); parametros.SignaturePolicyInfo.PolicyIdentifier = "h t t p://ticketbai.eus/politicafirma"; parametros.SignaturePolicyInfo.PolicyHash = "Ohixl6upD6av8N7pEvDABhEL6hM="; parametros.SignaturePackaging = SignaturePackaging.ENVELOPED; parametros.DataFormat = new DataFormat(); parametros.DataFormat.MimeType = "text/xml"; parametros.SignerRole = new SignerRole(); parametros.SignerRole.ClaimedRoles.Add("emisor"); System.Security.Cryptography.X509Certificates.X509Certificate2 certificado; certificado = FirmaXadesNet.Utils.CertUtil.SelectCertificate(); using (parametros.Signer = new Signer(certificado)) { using (FileStream fs = new FileStream(_ficheroXml, FileMode.Open)) { SignatureDocument documentoFirma = xadesService.Sign(fs, parametros); documentoFirma.Save(Path.Combine(Path.GetDirectoryName(_ficheroXml), Path.GetFileNameWithoutExtension(_ficheroXml) + ".XSIG")); MessageBox.Show("Fichero guardado correctamente."); } } } Cita:
Cita:
Código:
<ResultadosValidacion> <Codigo>005</Codigo> <Descripcion>Error: Fichero de alta TicketBAI ya registrado en el sistema.</Descripcion> <Azalpena>Errorea: TicketBAI fitxategia sisteman erregistratuta dago jada.</Azalpena> </ResultadosValidacion> |
#1177
|
||||
|
||||
Firma XML
Cita:
Código PHP:
|
#1178
|
|||
|
|||
Cita:
No hice nada especial: Incluí la dll como referencia (directamente, sin NuGet) y también sus dependencias (BouncyCastle.Crypto y Microsoft.Xades) y simplemente con el método que pasé antes firma sin problemas. Es posible que tu librería no se corresponda con la versión .Net con la que apunta. Yo uso Net Framework 4.5 y la versión 2.1.0.0 de la librería. Por lo demás, confirmo que con el cambio de certificado funcionó bien la subida. Sólo dió una advertencia pero la tienen documentada: "Factura recibida pero resultado indica: 010 posible error de encadenamiento. Si se trata de la primera factura enviada por un sistema de facturación, es normal recibir este mensaje. Si se produce este aviso solo en la primera factura, es correcto. Esa primera factura generará un aviso informativo relativo a posible encadenamiento incorrecto (esto es normal) y ya las facturas sucesivas ya no darán ningún aviso, al ir correctamente encadenadas. Si se produce en las facturas sucesivas, revisar que se encadena de acuerdo a las especificaciones" |
#1180
|
||||
|
||||
Cita:
Así a primeras, echo en falta el bloque de <Software> que está vacío (tal vez porque lo has eliminado para que se vean los datos). Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice | newtron | Internet | 3587 | 20-08-2024 14:11:07 |
Como utilizar la ayuda del nuevo Sistema Operativo | gluglu | Humor | 3 | 24-09-2007 09:39:05 |
Aplicacion Agencia De Viajes | ArdiIIa | Varios | 9 | 20-01-2007 16:49:53 |
El Vasco Aguirre | Al González | La Taberna | 5 | 26-05-2006 09:22:28 |
Microsoft ha lanzado su nuevo sistema operativo | DarkByte | Humor | 0 | 25-01-2004 09:21:14 |
|