Chamando APIs estendidas

As APIs estendidas são APIs que você fornece; elas são, às vezes, chamadas de APIs customizadas. É possível usar uma API estendida para chamar uma API do aplicativo ou API de terceiros, além de executar o processamento customizado através da Estrutura de Definição de Serviço.

Sobre esta tarefa

Para chamar uma API estendida:

Procedimento

  1. Codifique uma classe.
  2. Codificar uma função que tenha exatamente dois parâmetros de tipos YFSEnvironment e Document e assegurar que a função retorne um documento.
     public Document <method-name> (YFSEnvironment env, Document doc)
  3. Configure um serviço que contenha um nó de API. Ao configurar um nó da API, use as propriedades descritas na tabela a seguir.
    Propriedade Descrição
    Guia geral
    API Estendida Selecione esta opção se uma API customizada precisar ser chamada.
    Nome da API

    Selecione ou insira a API a ser chamada.

    Nota: este campo é apenas para propósitos de integração.
    Nome de Classe Especifica a classe codificada na primeira etapa.
    Nome do Método Especifica a função a ser chamada como codificada na etapa anterior.
    Guia Argumentos
    Nome do Argumento

    É possível transmitir pares nome/valor para a API inserindo os valores na Guia Argumentos.

    Para que as APIs customizadas acessem valores customizados, a API deve implementar a interface com.yantra.interop.japi.YIFCustomApi.

    Se inseridos, estes pares nome/valor são transmitidos para a API customizada como um objeto de propriedades.

    Valor do Argumento Insira o valor do argumento.
    Guia Modelo
    Modelo XML Selecione esse botão de opções para construir o XML a ser usado para a saída da API. Insira o nome do elemento raiz do modelo e clique em OK. É possível, então, construir o XML.
    Nome do arquivo Selecione este botão de opções para inserir o nome do arquivo XML a ser usado como o modelo de saída da API. Este arquivo também deve existir em seu caminho de classe.

    Guia Fatos

    É possível configurar a Consulta de Fato para o Banco de Dados e as APIs customizadas usando a guia Fatos. É possível definir pares nome-valor para a consulta de Fato. O Valor pode ser um Caminho XML.

    Nome do Fato Insira o nome do fato.
    Valor do Fato Insira o valor fático.

    Ao conectar os nós dentro de um serviço, tenha em mente as propriedades da conexão do nó da API conforme listadas na tabela Propriedades da Conexão do Nó da API a seguir:

    Conexão Regras da Conexão do Nó
    Pode ser o primeiro nó após o nó inicial Apenas para serviços chamados sincronicamente
    Pode ser colocado antes
    • Qualquer nó de transporte, exceto FTP ou E/S de Arquivo
    • Qualquer outro nó do componente
    Pode ser colocado após
    • Nó de Início
    • Qualquer nó de transporte, exceto FTP ou E/S de Arquivo
    • Qualquer outro nó do componente
    Transmite dados inalterados Sim
  4. Certifique-se de que a classe esteja no caminho de classe da Estrutura de Definição de Serviço.
  5. Certifique-se de que a classe implemente um método com uma assinatura que tome exatamente dois parâmetros, um YFSEnvironment e um Document.

    O exemplo a seguir mostra como implementar uma classe:

    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 acessar a API estendida você criou, chame o serviço contendo sua API estendida.

    Para obter detalhes e código de amostra que mostram como acessar propriedades especificadas quando a API customizada está configurada, consulte a interface YIFCustomAPI no aplicativo Javadoc.