Ver Mensaje Individual
  #981  
Antiguo 09-07-2021
edari edari is offline
Miembro
 
Registrado: jun 2021
Posts: 185
Reputación: 4
edari Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
¿Te refieres a esto?


Código PHP:
<Cabecera>
        <
IDVersionTBAI>1.2</IDVersionTBAI>
    </
Cabecera>
    <
Sujetos>
        <
Emisor>
            <
NIF>J69552834</NIF>
            <
ApellidosNombreRazonSocial>Empresa de Test</ApellidosNombreRazonSocial>
        </
Emisor>
        <
Destinatarios>
            <
IDDestinatario>
                <
NIF>A86868189</NIF>
                <
ApellidosNombreRazonSocial>C1</ApellidosNombreRazonSocial>
                <
CodigoPostal>22050</CodigoPostal>
                <
Direccion>CLMenor77203040 Mod</Direccion>
            </
IDDestinatario>
        </
Destinatarios>
        <
VariosDestinatarios>N</VariosDestinatarios>
        <
EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
    </
Sujetos>
    <
Factura>
        <
CabeceraFactura>
            <
SerieFactura/>
            <
NumFactura>5</NumFactura>
            <
FechaExpedicionFactura>20-04-2021</FechaExpedicionFactura>
            <
HoraExpedicionFactura>00:00:00</HoraExpedicionFactura>
            <
FacturaSimplificada>N</FacturaSimplificada>
            <
FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
        </
CabeceraFactura>
        <
DatosFactura>
            <
DescripcionFactura>Factura de ejemplos 1</DescripcionFactura>
            <
DetallesFactura>
                <
IDDetalleFactura>
                    <
DescripcionDetalle/>
                    <
Cantidad>1.00</Cantidad>
                    <
ImporteUnitario>55.00000000</ImporteUnitario>
                    <
Descuento>0.00</Descuento>
                    <
ImporteTotal>66.55</ImporteTotal>
                </
IDDetalleFactura>
            </
DetallesFactura>
            <
ImporteTotalFactura>66.55</ImporteTotalFactura>
            <
Claves>
                <
IDClave>
                    <
ClaveRegimenIvaOpTrascendencia>51</ClaveRegimenIvaOpTrascendencia>
                </
IDClave>
            </
Claves>
        </
DatosFactura>
        <
TipoDesglose>
            <
DesgloseFactura>
                <
Sujeta>
                    <
NoExenta>
                        <
DetalleNoExenta>
                            <
TipoNoExenta>S1</TipoNoExenta>
                            <
DesgloseIVA>
                                <
DetalleIVA>
                                    <
BaseImponible>55.00</BaseImponible>
                                    <
TipoImpositivo>21.00</TipoImpositivo>
                                    <
CuotaImpuesto>11.55</CuotaImpuesto>
                                    <
TipoRecargoEquivalencia>0.00</TipoRecargoEquivalencia>
                                    <
CuotaRecargoEquivalencia>0.00</CuotaRecargoEquivalencia>
                                    <
OperacionEnRecargoDeEquivalenciaORegimenSimplificado>S</OperacionEnRecargoDeEquivalenciaORegimenSimplificado>
                                </
DetalleIVA>
                            </
DesgloseIVA>
                        </
DetalleNoExenta>
                    </
NoExenta>
                </
Sujeta>
            </
DesgloseFactura>
        </
TipoDesglose>
    </
Factura

Sí gracias, Neftali. Eso quería.

Pues lo tengo prácticamnente igual. Tengo una duda con la primera línea. Te pongo mi fichero

Código PHP:
<?xml version="1.0" encoding="UTF-8"?><T:TicketBai xmlns:T="urn:ticketbai:emision">
<Cabecera>
<IDVersionTBAI>1.2</IDVersionTBAI>
</Cabecera>
<Sujetos>
<Emisor>
<NIF>nif empresa facturadoara6</NIF>
<ApellidosNombreRazonSocial>EDARI</ApellidosNombreRazonSocial>
</Emisor>
<Destinatarios>
<IDDestinatario>
<NIF>nif cliente</NIF>
<ApellidosNombreRazonSocial>nombre cliente</ApellidosNombreRazonSocial>
</IDDestinatario>
</Destinatarios>
<VariosDestinatarios>N</VariosDestinatarios>
<EmitidaPorTercerosODestinatario>N</EmitidaPorTercerosODestinatario>
</Sujetos>
<Factura>
<CabeceraFactura>
<SerieFactura>02</SerieFactura>
<NumFactura>1000035</NumFactura>
<FechaExpedicionFactura>01-07-2021</FechaExpedicionFactura>
<HoraExpedicionFactura>00:06:28</HoraExpedicionFactura>
<FacturaSimplificada>N</FacturaSimplificada>
<FacturaEmitidaSustitucionSimplificada>N</FacturaEmitidaSustitucionSimplificada>
</CabeceraFactura>
<DatosFactura>
<DescripcionFactura>factura a cliente</DescripcionFactura>
<DetallesFactura>
<IDDetalleFactura>
<DescripcionDetalle>BARRIL DAMM</DescripcionDetalle>
<Cantidad>1.00</Cantidad>
<ImporteUnitario>40.00</ImporteUnitario>
<Descuento>0.00</Descuento>
<ImporteTotal>40.00</ImporteTotal>
</IDDetalleFactura>
</DetallesFactura>
<ImporteTotalFactura>50.48</ImporteTotalFactura>
<Claves>
<IDClave>
<ClaveRegimenIvaOpTrascendencia>01</ClaveRegimenIvaOpTrascendencia>
</IDClave>
</Claves>
</DatosFactura>
<TipoDesglose>
<DesgloseFactura>
<Sujeta>
<NoExenta>
<DetalleNoExenta>
<TipoNoExenta>S1</TipoNoExenta>
<DesgloseIVA>
<DetalleIVA>
<BaseImponible>40.00</BaseImponible>
<TipoImpositivo>21.00</TipoImpositivo>
<CuotaImpuesto>8.40</CuotaImpuesto>
<TipoRecargoEquivalencia>05.20</TipoRecargoEquivalencia>
<CuotaRecargoEquivalencia>2.08</CuotaRecargoEquivalencia>
</DetalleIVA>
</DesgloseIVA>
</DetalleNoExenta>
</NoExenta>
</Sujeta>
</DesgloseFactura>
</TipoDesglose>
</Factura>
<HuellaTBAI>
<Software>
<LicenciaTBAI>mi licencia como empresa</LicenciaTBAI>
<EntidadDesarrolladora>
<NIF>nuestro nif</NIF>
</EntidadDesarrolladora>
<Nombre>EDARI</Nombre>
<Version>1.0</Version>
</Software>
<NumSerieDispositivo>el numero de serie de mi dispositivo</NumSerieDispositivo>
</HuellaTBAI>
</T:TicketBai>
Lo firmo desde símbolo de comando con

\autofirma\autofirma\autofirmacommandline.exe sign -i FACTURA.XML -o FACTURA_FIRMADA.XML -store pkcs12:\CERTIFICADO\MI_CERTIFICADO_DE_DISPOSITIVO.p12 -password MI_PASSWD -filter \CERTIFICADO\MI_CERTIFICADO_DE_DISPOSITIVO.p12 -format xades -xml -config "format=XAdES Enveloped \npolicyIdentifier=identificativo \npolicyIdentifierHash=codigo_HASH \npolicyIdentifierHashAlgorithm=h t t p ://w w w .w3.org/2001/04/xmlenc#sha256 \npolicyQualifier=identificativo

El certificado de dispositivo lo bajamos de Izenpe para la máquina donde hago las pruebas

Al lanzarlo me da este mensaje, que aunque da algunos errores al final dice que lo ha generado bien

...
GRAVE: No se ha podido establecer la propiedad de seguridad en la factoria XML
java.lang.IllegalArgumentException: La propiedad "h t t p ://javax.xml.XMLConstants/property/accessExternalStylesheet" no se ha reconocido.
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl.setAttribute(Unknown Source)
at es.gob.afirma.signers.xades.XAdESUtil.<clinit>(XAdESUtil.java:97)
at es.gob.afirma.signers.xades.XAdESSigner.sign(XAdESSigner.java:429)
at es.gob.afirma.signers.xades.AOXAdESSigner.sign(AOXAdESSigner.java:405)
at es.gob.afirma.standalone.CommandLineLauncher.sign(CommandLineLauncher.java:797)
at es.gob.afirma.standalone.CommandLineLauncher.signByCommandLine(CommandLineLauncher.java:624)
at es.gob.afirma.standalone.CommandLineLauncher.processCommandLine(CommandLineLauncher.java:152)
at es.gob.afirma.standalone.CommandLineLauncher.main(CommandLineLauncher.java:1006)
at es.gob.afirma.standalone.SimpleAfirma.main(SimpleAfirma.java:573)

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See h t t p://w w w.slf4j.org/codes.html#StaticLoggerBinder for further details.
<afirma><result>true</result><response><msg>La operacion ha terminado correctamente </msg></response></afirma>

y lanzo el curl con

curl.exe --data-binary @FACTURA_FIRMADA.XML --cert-type P12 --cert certificadodispositivo.p12:230175 -H "Content-Type: application/xml;charset=UTF8" -X POST h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta -o RESPUESTA.XML

Y siempre me da este error

<Codigo>002</Codigo>

<Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. Detalle del error: cvc-datatype-valid.1.2.1: 'codigo_HASH' is not a valid value for 'base64Binary'.</Descripcion>


Gracias de nuevo
Responder Con Cita