Saltar al contenido principal
Para instalar PEGA, debe importar el conector en el servidor y crear una función Java en Pega. Para importar el conector en el servidor:
  1. Abra Dev Studio y haga clic en Configure → Application → Distribution → Import.
  1. Cargue el archivo FlexiCaptureConnector.jar en el servidor.
  2. Abra el Pega Self-Service Portal y haga clic en Restart Server.
Para crear una función Java que llame a métodos de las clases del conector:
  1. Cree una nueva biblioteca haciendo clic en Records → Technical → Library → Create y asígnele un nombre, por ejemplo, FlexiCaptureLibrary. Después, incluya los siguientes paquetes:
    • java.util.*
    • java.nio.file.*
    • com.abbyy.connectors.*
    • com.abbyy.connectors.models.*
  1. Haga clic en Save y luego en Generate Library.
  2. Cree una nueva función haciendo clic en Records → Technical → Function → Create.
  3. En el campo Label, indique un nombre para la nueva función (por ejemplo, CaptureData).
  4. En la sección Parameters, especifique los dos parámetros de entrada siguientes:
NameJava type
FileNameString
Base64ContentString
  1. En el campo Library, escriba el nombre de la biblioteca que creó en el paso 1 y haga clic en Create and open.
  2. En la ventana que se abre, en la pestaña Parameters, especifique String como tipo de datos en el campo Java data type:
  1. Copie el código del archivo CodeExample.java, que puede encontrar en %Installation Path%\Connector for FlexiCapture as a Service\Samples\Pega Function (para su comodidad, el código se reproduce a continuación). En esa misma ventana, haga clic en la pestaña Java y pegue el código que acaba de copiar. Este código de ejemplo envía archivos a FC y devuelve los resultados del procesamiento en forma de cadenas JSON con los nombres de los campos capturados y sus valores. Los fragmentos de código resaltados en amarillo deben sustituirse por datos de conexión válidos necesarios para conectarse al servidor de aplicaciones de FC. A continuación, cargue su proyecto en el servidor de aplicaciones de FC y configúrelo.
// Creación del cliente de API de FlexiCapture Web Services. Indique aquí la dirección del Servidor de aplicaciones de FlexiCapture. 
try (FlexiCaptureWebServiceClient client = new FlexiCaptureWebServiceClient("https://FlexiCaptureApplicationServer")) {
// Quite el comentario de la línea siguiente e indique un nombre de empresa para interactuar con FlexiCapture Cloud o el tenant.
// client.setTenant("Company");
// Indique credenciales de usuario válidas de FlexiCapture.
client.setCredentials(new Credentials("Username", "Password"));
// Obtención del proyecto de FlexiCapture. Indique aquí un nombre de proyecto.
try (FlexiCaptureProject project = client.getProject("InvoiceDemoProject")) {
// Preparación de un archivo para cargar en FlexiCapture. 'FileName' y 'Base64Content' son parámetros de función de Pega.
List<File> files = new ArrayList<File>();
files.add(new File(FileName, Base64.getDecoder().decode(Base64Content.replace("\n", "").replace("\r", ""))));
// Preparación de un trabajo para el procesamiento por lotes de FlexiCapture.
BatchCreationJob job = new BatchCreationJob(files);
job.setName("Pega_" + System.currentTimeMillis());  // Establecimiento del nombre del lote de FlexiCapture.
job.setType("Default");                             // Establecimiento del nombre del tipo de lote de FlexiCapture.
// Creación y ejecución del lote de FlexiCapture.
int batchId = project.create(job);
// Espera a que el lote se procese y obtención de los resultados del procesamiento.
Result result = project.getResult(batchId);
// Comprobación de si la etapa del lote es Processed.
if (result.getStage() == com.abbyy.connectors.models.Stage.Processed) {
// Devolución de los campos capturados como una cadena JSON.
return result.getFields();
} else {
// Lanzamiento de una excepción para otras etapas.
// En lugar del lanzamiento, aquí se puede configurar el procesamiento de estas etapas.
throw new FlexiCaptureConnectorException(String.format("Unsupported FlexiCapture stage type '%s'.", result.getStage()));
}
}
} catch (Exception ex) {
// Encadenamiento de mensajes de error.
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// Lanzamiento del mensaje encadenado.
throw new FlexiCaptureConnectorException(message);
}
  1. Haga clic en la pestaña Imports & Exceptions y escriba Exception en la sección Exceptions thrown.
  2. Vuelva a la pestaña Java, seleccione la opción Function ready to be compiled?, guarde los cambios y haga clic en Generate function. Si la función se genera correctamente, verá el siguiente mensaje: