Invocación de API ampliadas

Las API ampliadas son API que el usuario proporciona; a veces se denominan API personalizadas. Puede utilizar una API ampliada para invocar una API de aplicación o una API de terceros, así como para realizar un proceso personalizado a través de la infraestructura de definición de servicios.

Acerca de esta tarea

Para invocar una API ampliada:

Procedimiento

  1. Codifique una clase.
  2. Codifique una función que tenga exactamente dos parámetros de tipos YFSEnvironment y Document y asegúrese de que la función devuelve un documento.
     public Document <method-name> (YFSEnvironment env, Document doc)
  3. Configure un servicio que contiene un nodo de API. Cuando se configura un nodo de API, utilice las propiedades que se describen en la tabla siguiente.
    Propiedad Descripción
    Ficha General
    API ampliada Seleccione esta opción si se debe invocar una API personalizada.
    Nombre de API

    Seleccione o especifique la API que se va a llamar.

    Nota: Este campo sólo es para fines de integración.
    Nombre de clase Especifica la clase que ha codificado en el primer paso.
    Nombre de método Especifica la función que se llamará como codificada en el paso anterior.
    Ficha Argumentos
    Nombre de argumento

    Puede pasar pares de nombre/valor a la API especificando los valores en la ficha Argumentos.

    Para que las API personalizadas accedan a valores personalizados, la API debe implementar la interfaz com.yantra.interop.japi.YIFCustomApi.

    Si se entran, estos pares de nombre/valor pasan a la API personalizada como objeto de propiedades.

    Valor de argumento Especifique el valor del valor de argumento.
    Ficha Plantilla
    Plantilla XML Seleccione este botón para construir el XML que se utilizará para la salida de la API. Especifique el nombre de elemento raíz de plantilla y pulse Aceptar. A continuación, podrá construir el XML.
    Nombre de archivo Seleccione este botón para especificar el nombre del archivo XML que se utilizará como plantilla de salida de la API. Este archivo también debe existir en la CLASSPATH.

    Ficha Hechos

    Puede configurar la búsqueda de hechos para base de datos y API personalizadas utilizando la ficha Hechos. Puede definir pares de nombre-valor para la búsqueda de hechos. El valor puede ser una ruta de acceso XML.

    Nombre de hecho Especifique el nombre del hecho.
    Valor de hecho Entre el valor de hecho.

    Al conectar los nodos en un servicio, tengan en cuenta las propiedades de conexión de la API, tal como se listan en la tabla de propiedades de conexión de nodos de la API siguiente:

    Conexión Reglas de conexión de nodos
    Puede ser el primer nodo después del nodo inicial Sólo para servicios invocados de forma sincrónica
    Puede situarse antes de
    • Cualquier nodo de transporte excepto FTP o ES de archivo
    • Cualquier otro nodo de componente
    Puede situarse después
    • Nodo inicial
    • Cualquier nodo de transporte excepto FTP o ES de archivo
    • Cualquier otro nodo de componente
    Pasa datos sin cambios
  4. Asegúrese de que la clase se encuentre en CLASSPATH de la infraestructura de definición de servicios.
  5. Asegúrese de que la clase implementa un método con una firma que toma exactamente dos parámetros, un YFSEnvironment y un Document.

    El ejemplo siguiente muestra cómo implementar una clase:

    import com.yantra.yfs.japi.YFSEnvironment; 
    import org.w3c.dom.Document; 
    public class Bar {
      public Bar () {
        }
      public Document foo(YFSEnvironment env, Document doc)
        {
        //write your implementation code here
        } 
    }
  6. Para acceder a la API ampliada que ha creado, invoque el servicio que contiene la API ampliada.

    Para obtener detalles y código de ejemplo que muestra cómo acceder a las propiedades especificadas cuando se configura la API personalizada, consulte la interfaz YIFCustomAPI en el Javadocde la aplicación.