angelcisneros / factura-electronica

Automatically exported from code.google.com/p/factura-electronica
Apache License 2.0
0 stars 0 forks source link

Validar complementos #23

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
¿Cuáles pasos hay que seguir para reproducir el problema?
1. Validar un xml sellado por un tercero
2.Aparece error al fina
3.

¿Cuál versión del producto está utilizando?
0.1.5

Error
javax.xml.bind.MarshalException - with linked exception: 
[javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: 
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can 
be found for element 'psgecfd:PrestadoresDeServiciosDeCFD'.]

Original issue reported on code.google.com by 19fidela...@gmail.com on 20 Dec 2010 at 6:07

GoogleCodeExporter commented 9 years ago
Parece ser un problema con los complementos y la validación.

Lo reviso y te comento como hay que manejarlo. 

Original comment by bigdata.mx on 20 Dec 2010 at 7:27

GoogleCodeExporter commented 9 years ago

Original comment by bigdata.mx on 26 Dec 2010 at 9:13

GoogleCodeExporter commented 9 years ago
Saludos, pudiste solucionar este problema? Tendrás un fragmento de la factura 
que nos puedas enviar borrando los datos personales para que podamos probar.

Gracias

Original comment by bigdata.mx on 4 Feb 2011 at 11:09

GoogleCodeExporter commented 9 years ago
Tengo un problema similar al intentar validar la factura adjunta me lanza este 
error:

C:\Downloads\Factura Electrónica\CFD_FE_OQOPG5402.xml cvc-complex-type.2.4.c: 
The matching wildcard is strict, but no declaration can be found for element 
'implocal:ImpuestosLocales'.

El código con el que invoco es:

    public static void main(String[] args) {

        String file = "C:\\Downloads\\Factura Electrónica\\CFD_FE_OQOPG5402.xml";
        List<SAXParseException> errors;
        try {
            CFDv2 cfd;

            cfd = new CFDv2(new FileInputStream(file));

            ValidationErrorHandler handler = new ValidationErrorHandler();
            cfd.validar(handler);

            errors = handler.getErrors();

            if (errors.size() > 0) {
                for (SAXParseException e : errors) {
                    System.err.printf("%s %s\n", file, e.getMessage());
                }
            }

        } catch (Exception ex) {
            Logger.getLogger(Comprobante.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

Original comment by jnun...@gmail.com on 26 Apr 2011 at 9:08

GoogleCodeExporter commented 9 years ago
Hola a todos,verifiquen esta solución,  yo tambien me tope con ese problema, 
en mi caso con el complemento estado de cuenta, el error es el siguiente:

C:\CFDIv3_1.6\cfdi-base-0.1.6-SNAPSHOT>.\bin\cfdi validar ejemplos\AAA010101AAA2
0110505T162514.xml
ejemplos\AAA010101AAA20110505T162514.xml cvc-complex-type.2.4.c: The matching wi
ldcard is strict, but no declaration can be found for element 'ecb:EstadoDeCuent
aBancario'.

Como lo corregi del SAT me descarge el ecb.xsd de la sig. liga:
http://www.sat.gob.mx/sitio_internet/cfd/ecb/ecb.xsd

Para el caso de psgecfd el xsd debe de ser(si es que no ha cambiado en la nueva 
version de CFDI)
http://www.sat.gob.mx/sitio_internet/cfd/psgecfd/psgecfd.xsd

Para el caso de implocal el xsd debe de ser :
http://www.sat.gob.mx/sitio_internet/cfd/implocal/implocal.xsd

Para mi caso descarge el archivo ecb.xsd y lo coloque dentro de la libreria en 
Other Sources > src/main/resources > xsd.v3 

Ahora en la clase  CFDv3.java dentro de la libreria( mx.bigdata.sat.cfdi) 
agrego una nueva variable al igual que para TimbreFiscal :

 private static final String XSD_ECB = "/xsd/v3/ecb.xsd";

y en esta misma clase en la funcion  validar agrego al array de Source , el 
nuevo esquema :

    Source[] schemas = new Source[] {
      new StreamSource(getClass().getResourceAsStream(XSD)),
      new StreamSource(getClass().getResourceAsStream(XSD_TFD)),
      new StreamSource(getClass().getResourceAsStream(XSD_ECB))  //Nuevo esquema de ecb

    };

Con este cambio ya pude validar mi cfdi con el complemento ecb, tambien lo pase 
en el validador del SAT, ya timbrado y pasa todo bien, para su caso deberia de 
ser lo mismo con sus complementos, ojala y puedan subir el cambio a la 
librería, para que quede mas completa, tambien lo  verifique cuando no lleva 
complemento y funciona asi que no deberia afectar a los que no usan complemento.

Con esto xjc genera tambien el codigo correspondiente para el complemento, para 
manejarlo con objetos, esta parte apenas la revisare, pero al parecer es lo 
mismo que con el TimbreFiscal que implemento bigdata...@gmail.com.

Saludos.

Original comment by macuja@gmail.com on 6 May 2011 at 1:32

GoogleCodeExporter commented 9 years ago
Muchas gracias por la información integraremos estos cambios a la librería.

Original comment by bigdata.mx on 7 May 2011 at 5:45

GoogleCodeExporter commented 9 years ago

Original comment by bigdata.mx on 31 Dec 2011 at 12:30

GoogleCodeExporter commented 9 years ago
Se agregó soporte para validar todos los complementos en las clases CFDv22 y 
CFDv32.

Gracias por la información.

Saludos

Original comment by bigdata.mx on 31 Dec 2011 at 10:30

GoogleCodeExporter commented 9 years ago

Original comment by bigdata.mx on 2 Jan 2012 at 3:28

GoogleCodeExporter commented 9 years ago
Issue 50 has been merged into this issue.

Original comment by bigdata.mx on 7 Mar 2012 at 12:39

GoogleCodeExporter commented 9 years ago
La librería de factura-electronica ha sido migrada a GitHub para facilitar la 
colaboración.

Los temas han sido migrados a 

https://github.com/bigdata-mx/factura-electronica/issues/

Visítanos!

Original comment by bigdata.mx on 21 Oct 2012 at 5:51