bigdata-mx / factura-electronica

Librería de componentes Java para el desarrollo de aplicaciones de Factura Electrónica (CFDI)
Apache License 2.0
94 stars 107 forks source link

Error cvc-complex-type.2.4.c al validar XML #152

Closed Sergio70 closed 7 years ago

Sergio70 commented 7 years ago

Hola buen dia a todos, me a surgio un problema al querer validar uno de mis XML en el Complemento de registro fiscal, alguien save a que se deve este error y como solucionarlo?? se los agradeceria mucho, el error es el siguiente:

ERROR: 'cvc-complex-type.2.4.c: El comodín coincidente es estricto, pero no se ha encontrado ninguna declaración para el elemento 'registrofiscal:CFDIRegistroFiscal'.' ene 17, 2017 5:19:02 PM com.portalOlsa.portalOlsa.controllers.ValidationController valida GRAVE: null org.xml.sax.SAXParseException at javax.xml.bind.util.JAXBSource$1.parse(JAXBSource.java:248) at javax.xml.bind.util.JAXBSource$1.parse(JAXBSource.java:232) at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.validate(ValidatorHandlerImpl.java:730) at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:102) at javax.xml.validation.Validator.validate(Validator.java:124) at mx.bigdata.sat.cfdi.CFDv32.validar(CFDv32.java:163) at mx.bigdata.sat.cfdi.CFDv32.validar(CFDv32.java:148)

hortegag91 commented 7 years ago

Disculpa, CREO que no está dado de alta el complemento, habría que agregar el XSD y a las clases correspondientes según si aplica al cfd,cfdi, 3.0, 3.2, Uno de mis propositos es agregar todos los complementos debido a "la facilidad" con la que se agregan, pero no me he dado tiempo, mientras no se agreguen nos será imposible validar (o generar) cfdis emitidos con estos complementos. Si deseas ver la lista de los que actualmente trae, está en: /src/main/resources/xsd/common/ Saludos.

Sergio70 commented 7 years ago

Muchas Gracias ya lo solucione, por si alguien mas tiene el mismo problema dejo el siguiente link https://github.com/bigdata-mx/factura-electronica/issues/120

iliaco commented 7 years ago

Disculpen soy nuevo usando el proyecto: cuando intento validar los comprobantes me sale el siguiente error...

10:10:50,846 GRAVE [webipntimnom.generador.GeneraComprobantes] (Thread-76) Error en la generaci├│nn del comprobante 10:10:50,846 GRAVE [webipntimnom.generador.GeneraComprobantes] (Thread-76) null: ipntimnom.sesion.comun.exception.GeneraException at webipntimnom.generador.GeneraComprobantes.run(GeneraComprobantes.java:179) [classes:] Caused by: org.xml.sax.SAXParseException at javax.xml.bind.util.JAXBSource$1.parse(JAXBSource.java:225) [jboss-jaxb-api_2.2_spec-1.0.3.Final.jar:1.0.3.Final] at javax.xml.bind.util.JAXBSource$1.parse(JAXBSource.java:210) [jboss-jaxb-api_2.2_spec-1.0.3.Final.jar:1.0.3.Final] at org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.validate(ValidatorHandlerImpl.java:715) at org.apache.xerces.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:96) at javax.xml.validation.Validator.validate(Validator.java:124) [rt.jar:1.7.0_79] at mx.bigdata.sat.cfdi.CFDv32.validar(CFDv32.java:153) [cfdi-base-0.2.9.jar:] at mx.bigdata.sat.cfdi.CFDv32.validar(CFDv32.java:139) [cfdi-base-0.2.9.jar:] at webipntimnom.generador.GeneraComprobantes.run(GeneraComprobantes.java:160) [classes:] Caused by: javax.xml.bind.MarshalException

Podrían ayudarme, se los agradecería mucho...

iliaco commented 7 years ago

Creo que es debido a que en la definición de la clase CFDv32, falta "/xsd/common/nomina12/nomina12.xsd" en el arreglo XSD, pero cuando lo intento agregar, el proyecto me marca el siguiente error:

org.xml.sax.SAXParseException; lineNumber: 655; columnNumber: 84; src-resolve: No se puede resolver el nombre 'catNomina:c_TipoNomina' para un componente 'type definition'.

No se como solucionarlo, agradecería cualquier apoyo..

hortegag91 commented 7 years ago

amigo @iliaco, lo que sucede es que el XSD de la nómina depende de otros XSD que definen ciertos tipos o catálogo de los datos, para esto es necesario agregar tambien sus XSD, que puedes encontrarlos dentro del XSD principal (en tu caso de la nómina) con esta estructura. <xs:import namespace="namespacenuevo" schemaLocation="ruta del xsd correspondiente al ns"/>