ws-timbrado-client.jar
La librería contiene las clases necesarias para invocar el WebServide de Timbrado directamente (creando los objetos e instancias necesarias y hacer la invocación manual), o invocar los métodos que ya se encargan de hacer la invocación por ellos mismos.
Descarga: ws-timbrado-client.zip
Agregar libreria, netbeans o eclipse: 2.1.2. Documentación JAR's.
Notas:
1.- Estas clases hacen uso directo del WebService de timbrado.
2.- Dentro de este jar se incluyen las clases generadas para mandar llamar directamente el WebService de timbrado.
com.solucionfactible.cfdi.ws.timbrado.client
Clase Timbrado
com.solucionfactible.cfdi.ws.timbrado.client.Timbrado
Timbrado
provee métodos para timbrar y cancelar comprobantes fiscales digitales.
Para invocar el método de timbrado y enviar un CFDI al ambiente de TESTING puede hacerse:
String user = "testing@solucionfactible.com"; String pass = "timbrado.SF.16672"; String rutaXML = "C:\CFDI_10F"; boolean produccion = false; Timbrado timbrado = new Timbrado(); CFDICertificacion cert = timbrado.timbrar(user, pass, rutaXML, produccion); System.out.println("WS Producción: " + (produccion ? "Si" : "No")); System.out.println("Status: " + cert.getStatus()); System.out.println("Mensaje: " + cert.getMensaje()); CFDIResultadoCertificacion[] resultados = cert.getResultados(); if (resultados != null) { for (CFDIResultadoCertificacion r : resultados) { if (r != null) { int rStatus = r.getStatus(); System.out.println(String.format("[%d] %s", rStatus, r.getMensaje())); //Operación creada exitosamente o previamente ya creado if (rStatus == 200 || rStatus == 307) { System.out.println(String.format("CFDI timbrado con folio: %s", r.getUuid())); System.out.println(String.format("Certificado SAT: %s", r.getSelloSAT())); System.out.println("Cadena original del Timbre Fiscal digital: " + r.getCadenaOriginal()); System.out.println("XML de CFDI con Timbre Fiscal Digital:"); //El CFDI con el TimbreFiscalDigital ya incluido System.out.println(new String(r.getCfdiTimbrado())); //Se usa la libreria de apache commons codec. String qrCodeB64 = new String(org.apache.commons.codec.binary.Base64.encodeBase64(r.getQrCode())); System.out.println("QRCode en base64: " + qrCodeB64); } System.out.println(); } } }
Posible mal interpretación por métodos duplicados
Por favor note: El paquete com.solucionfactible.cfdi.ws.timbrado
contiene las clases e interfaces que pueden ser usadas para la invocación
directa del WebService, a su vez contiene una interface Timbrado
que no debe ser confundida con la que se define en este documento.
CFDICancelacion |
cancelar(String usuario, String password, String[] uuid, String cer, String key, String passwordCer)
Cancela un CFDI.
|
CFDICertificacion |
timbrar(String usuario, String password, String archivo, boolean produccion)
Timbra un CFDI.
|
cancelar
public CFDICancelacion cancelar(String usuario, String password, String[] uuid, String cer, String key, String passwordCer) throws Exception
-
Cancela un comprobante dado y regresa la respuesta del WebService en un objeto de tipo
com.solucionfactible.cfdi.ws.timbrado.xsd.CFDICancelacion
.CFDICancelacion
- Attributos del tipo CFDICancelacion, se describen en la siguiente tabla
-
Nombre Descripción Requerido status El código status de la operación. Códigos de respuesta de cancelación Sí mensaje El mensaje de respuesta, una cadena de caracteres detallando el status de la operación. Sí resultados Un array de CFDIResultadoCancelacion. Atributos se detallan en la tabla CFDIResultadoCancelacion No
- Atributos de CFDIResultadoCancelacion
-
Nombre Descripción Requerido status Status del resultado de la cancelación del CFDI, para detalles de los códigos de status de cancelación consulte Códigos de respuesta de cancelación Sí mensaje Mensaje detallado de la operación realizada o descripción del error. Sí uuid Folio fiscal del CFDI que se canceló. Sí statusUUID Status de respuesta del SAT para el comprobante que se envió a cancelación, para detalles de los códigos de status de cancelación consulte “Códigos de respuesta del SAT para la cancelación de CFDI” Condicional
- Parametros:
String usuario
- El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.String password
- La contraseña de usuario.String[] uuid
- Ruta a el archivo certificado (archivo .cer).String cer
- Ruta a la llave del certificado (archivo .key).String key
- Contraseña del certificado.String passwordCer
- Los UUID's que se van a cancelar, si son mas de 1 deben ir separados por comas, todos en el mismo string.- Returns:
- Un objeto
com.solucionfactible.cfdi.ws.timbrado.xsd.CFDICancelacion
que contiene la respuesta del WebService. - Throws:
- Exception - Si no se encuentra algún archivo.
timbrar
public CFDICertificacion timbrar(String usuario, String password, String archivo, boolean produccion) throws Exception
-
Timbra un CFDI dado y regresa la respuesta del WebService en un objeto de tipo
com.solucionfactible.cfdi.ws.timbrado.xsd.CFDICertificacion
- Atributos de CFDICertificacion, describen en la siguiente tabla
-
Nombre Descripción Requerido status El código status de la operación. Códigos de respuesta de timbrado Sí mensaje El mensaje de respuesta, una cadena de caracteres detallando el status de la operación. Sí resultados Un array de CFDIResultadoCertificacion, un tipo compuesto cuyos atributos se detallan en la tabla “Atributos de CFDIResultadoCertificacion” No - Atributos de CFDIResultadoCertificacion
-
Nombre Descripción Requerido status Status del resultado de validación y timbrado del CFDI, para detalles de los códigos de status de certificación consulte Códigos de respuesta de timbrado Sí mensaje Mensaje detallado de la operación realizada o descripción del error. Sí uuid Folio fiscal del CFDI que se timbró. Condicional versionTFD Versión del complemento de Timbre Fiscal Digital. Condicional fechaTimbrado Fecha de timbrado del CFDI. Condicional selloSAT Sello del SAT, el sello del Timbre Fiscal Digital. Condicional certificadoSAT Número de serie del certificado del SAT empleado para timbrar el CFDI. Condicional cadenaOriginal Cadena original del Timbre Fiscal Digital o Complemento de Certificaciónes. Condicional cfdiTimbrado CFDI con el Timbre Fiscal Digital. Condicional qrCode Código bidimensional QRCode del CFDI, son los datos binarios de una imagen en formato png. Condicional - Parametros:
String usuario
- El nombre de usuario (usualmente un email) que se usa para autenticarse y conectarse a su implementación.String password
- La contraseña de usuario.String archivo
- Ruta del archivo xml que se va a timbrar.boolean produccion
- Bandera que especifica si mandar el comprobante a producción o a testing true=PRODUCCION- Returns:
- Un objeto
com.solucionfactible.cfdi.ws.timbrado.xsd.CFDICertificacion
que contiene la respuesta del WebService. - Throws:
- Exception Si no se encuentra el archivo o no es un archivo regular.