Inicio  |  Emisión  |  Librerías  |  WS-CFDI Modo Libreria
La LCO fue actualizada por última vez el 23/abr/2024

Modo librería

Se recomienda usar directamente el STUB generado por Axis2 para usar todos los métodos disponibles.

Modo de uso

Para hacer uso de esta librería es necesario agregar el archivo "ws-cfdi-cli.jar" al CLASSPATH o al proyecto en el IDE con el que esté trabajando, también es indispensable agregar las librerías mencionadas en la sección de requisitos.

Requisitos

  • apache-commons-cli-1.2.jar
  • apache-commons-lang-2.6.jar
  • apache-commons-io-1.4.jar
  • CFDI.jar (Stub de CFDI)
  • librerias Axis2

Métodos

Los métodos disponibles son:

  • importar
  • cancelar
  • obtenerDatos
  • obtenerPDF

Para acceder a estos métodos necesita declarar una instancia al objeto CFDIAccion. Por ejemplo:

CFDIAccion a = new CFDIAccion();

Método Importar

El método importar recibe los siguientes parámetros:

  • Usuario (String)
  • Password (String)
  • ubicacion_archivo_importar (String)
  • esZip (boolean)

Este método regresa un Map con los siguientes índices:

Nombre Descripción
MENSAJEretorna una variable del tipo String.
ESTATUSretorna una variable del tipo int.
RESULTADOretorna un arreglo de instancias del tipo ResultadoCreacion.

El siguiente ejemplo demuestra el uso del método importar:

String usuario = "demo@empresa.com.mx";
String pass = "empresa";
String temp = "/archivo/importar.txt";
boolean esZip = false;
Map resultado = a.importar(usuario, pass, temp, false);
String mensaje = (String) resultado.get("MENSAJE");
int estatus = (Integer) map.get("ESTATUS");
ResultadoCreacion[] importados = (ResultadoCreacion[]) resultado.get("RESULTADO");
for (ResultadoCreacion r : importados) {
if (r.getUuid() = null) {
System.out.println("UUID: " + r.getUuid());
System.out.println("Folio: " + r.getFolio());
System.out.println("Serie: " + r.getSerie());
System.out.println("Estatus: " + r.getEstatus());
System.out.println("Email: " + r.getEmail());
System.out.println("Mensaje: " + r.getMensaje());
System.out.println("------------------------------------------------");
} else {
System.out.println(r.getMensaje());
}
}
            

Método Cancelar

El método cancelar recibe los siguientes parámetros:

  • Usuario (String)
  • Password (String)
  • Solicitudes (List<SolicitudCancelacion>)

Este método regresa un Map con los siguientes índices:

Nombre Descripción
MENSAJEretorna una variable del tipo String.
ESTATUSretorna una variable del tipo int.
RESULTADOretorna un arreglo de instancias del tipo ResultadoCancelacion.

Un ejemplo de cómo usar este método es el siguiente:

String usuario = "demo@empresa.com.mx";
String pass = "empresa";
SolicitudCancelacion cancela = new SolicitudCancelacion();
cancela.setFolio(1761L);
cancela.setSerie("FACTURA");
cancela.setUuid("4AE9A918-63E4-4F16-9EDC-E43370395A29");
resultado = a.cancelar(usuario, pass, Arrays.asList(cancela));
String mensaje = (String) resultado.get("MENSAJE");
int estatus = (Integer) map.get("ESTATUS");
ResultadoCancelacion[] cancelados = (ResultadoCancelacion[]) resultado.get("RESULTADO");
for (ResultadoCancelacion r : cancelados) {
System.out.println(r.getMensaje());
}

Método obtenerDatos

El método obtenerDatos recibe los siguientes parámetros:

  • Usuario
  • Password (String)
  • UUID (String)
  • Folio (Long)
  • Serie (String)

Este método regresa un Map con los siguientes índices:

Nombre Descripción
MENSAJEretorna una variable del tipo String.
ESTATUSretorna una variable del tipo int.
RESULTADOretorna un arreglo de instancias del tipo CFDI

Un ejemplo de cómo usar este método es el siguiente:

String usuario = "demo@empresa.com.mx";
String pass = "empresa";
Map resultado = a.obtenerDatos(usuario, pass, "4AE9A918-63E4-4F16-9EDC-E43370395A29", 1761L, "FACTURA");
String mensaje = (String) resultado.get("MENSAJE");
int estatus = (Integer) map.get("ESTATUS");
CFDI[] comprobantes = (CFDI[]) resultado.get("RESULTADO");
for (CFDI c : comprobantes) {
InputStream is = c.getXml().getInputStream();
OutputStream os = System.out;
IOUtils.copy(is, os); // librería apache-commons-io.jar
}

Método generarPDF

El método generarPDF recibe los siguientes parámetros:

  • Usuario (String)
  • Password (String)
  • Diseño (Long)
  • UUID (String)
  • Folio (Long)
  • Serie (String)
  • Salida del archivo (OuputStream)

Este método no regresa ningun tipo de dato.

Un ejemplo para usar este método es el siguiente:

String usuario = "demo@empresa.com.mx";
String pass = "empresa";
try {
FileOutputStream fos = new FileOutputStream(new File("/tmp/doc.pdf"));
a.obtenerPDF(usuario, pass, 1, "4AE9A918-63E4-4F16-9EDC-E43370395A29", 1761L, "FACTURA", fos);
} catch (IOException ex) {
ex.printStackTrace();
}
« Anterior - Siguiente »
Datos de contacto
comments powered by Disqus