Proxy de um serviço SOAP

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

O que você vai aprender

Neste tutorial, você aprenderá a:

  • Gere um proxy da API Edge com base em um arquivo WSDL.
  • Saiba a diferença entre um tipo de proxy RESTful da solução e um proxy de passagem.

Neste tutorial, você aprenderá a colocar um proxy da API do Edge na frente de um serviço da Web baseado em SOAP.

Neste tutorial, ilustramos como gerar uma nova API RESTful na frente do serviço baseado em SOAP. Embora não esteja descrito em detalhes aqui, também é possível gerar um proxy de passagem que aceite um payload de SSO e o passe para o serviço de back-end.

Pré-requisitos

Como criar o proxy

Aqui, o Edge gera o proxy que ficará na frente de um serviço Soap. Há dois tipos de proxies da API NoSQL:

  • O tipo de proxy REST-SOAP-REST gera uma nova API RESTful com uma camada de conversão para a solução. Os clientes a chamam como fariam com outros serviços RESTful, passando os parâmetros de consulta necessários para o serviço de back-end. O Edge converte isso no payload de SSO esperado pelo serviço.
  • O tipo de proxy de proxy de passagem permite que os clientes simplesmente transmitam um payload de SSO. Essa é uma forma de aproveitar os recursos de gerenciamento do Edge para as chamadas de serviço DAO.

Edge

Para fazer o proxy de um serviço DAO usando a interface do usuário do Edge:

  1. Faça login em apigee.com/edge.
  2. Selecione Desenvolver > Proxies de API na barra de navegação à esquerda.
  3. Clique em +Proxy.
  4. Clique em Serviço SOAP.
  5. Na página "Detalhes do proxy", insira o seguinte:

    Campo Descrição
    Origem do WSDL

    Selecionar: URL

    Copie e cole o seguinte URL do WSLD no campo Enter URL:

    https://ws.cdyne.com/delayedstockquote/delayedstockquote.asmx?wsdl

    Clique em Validar.

    O Apigee Edge recebe o arquivo WSDL e o lê para descobrir a lista de operações compatíveis com o serviço DAO.

    Nome

    Deixar como está: delayedstockquote

    Esse é o nome do proxy de API que você está criando.

    Caminho base Deixar como está: /delayedstockquote
    Descrição Opcionalmente, adicione uma descrição, como: Proxy de API da WSDL de cotação de ações
  6. Clique em Next.
  7. Na página Políticas comuns, em Segurança: autorização, selecione Passar (sem autorização).
  8. Clique em Next.
  9. Na página Operações do WSDL, selecione: REST para DAO para REST.

    Depois que você seleciona o tipo de proxy, o Edge exibe a lista de operações para as quais ele vai gerar caminhos da API REST. Essa lista permite que você selecione entre as operações encontradas no WSDL (caso haja um conjunto específico que você está procurando). Observe que a tabela também exibe recursos que um cliente REST pode usar para chamar o serviço SSO de back-end.

    Deixe todas as outras seleções na página como estão.

  10. Clique em Next.
  11. Aceite os padrões do host virtual clicando em Next.
  12. Na página Resumo, em "Implantação opcional", clique em Testar e em Criar e implantar.

    O Edge gera um proxy de API RESTful e o implanta no ambiente test. A partir da WSDL, ele determina as operações aceitas pelo serviço, os parâmetros de entrada e assim por diante. O Edge sugere qual método HTTP usar para cada operação. Normalmente, o Edge converte operações em solicitações GET, que têm a vantagem de serem armazenadas em cache. O Edge também configura o endpoint de destino do back-end, que pode variar de acordo com a operação de SAP.

    A menos que você esteja personalizando o novo proxy de API (e não esteja neste tutorial), isso é tudo. Prossiga para testar o novo proxy de API.

Borda clássica (nuvem privada)

Para fazer o proxy de um serviço NoSQL usando a interface clássica do Edge, faça o seguinte:

  1. Faça login em http://ms-ip:9000, em que ms-ip é o endereço IP ou o nome DNS do nó do servidor de gerenciamento.
  2. Selecione APIs > Proxies de API na barra de navegação superior.
  3. Clique em + Proxy de API.
  4. Clique em Serviço SOAP.
  5. Na página "Detalhes do proxy", insira o seguinte:

    Campo Descrição
    WSDL (em inglês)

    Selecione: URL de exemplo

    Depois, selecione:
    ...previousedstockquote.asmx?WSDL

    Clique em Validar.

    O Apigee Edge recebe o arquivo WSDL e o lê para descobrir a lista de operações compatíveis com o serviço DAO.

    Proxy Name

    Insira: delayedstockquote

    Esse é o nome do proxy que você está criando.

    Caminho base do proxy e Descrição Deixe como está.
  6. Clique em Next.
  7. Na página WSDL, faça estas seleções:
    Neste campo faça isso
    Tipo de proxy de API

    Selecione: REST para SAP para REST.

    Depois que você seleciona o tipo de proxy, o Edge exibe a lista de operações para as quais ele vai gerar caminhos da API REST, como mostrado aqui. Essa lista oferece a chance de selecionar entre as operações encontradas na WSDL (caso você tenha um conjunto específico que esteja procurando). Observe que a tabela também exibe recursos que um cliente REST pode usar para chamar o serviço SSO de back-end.

    Por enquanto, basta deixar o primeiro conjunto de operações selecionado.

    Tipo de porta: DelayedStockTransitionSoap Selecione as três operações WSDL. Não mude as outras configurações.

  8. Clique em Next.
  9. Na página "Segurança", selecione Passar (nenhum).
  10. Clique em Next.
  11. Aceite os padrões do host virtual e clique em Next.
  12. Na página "Build", aceite os padrões e clique em Build and Deploy para que o Edge comece a gerar o proxy.

    O Edge gera um proxy de API RESTful. A partir da WSDL, ele determina as operações aceitas pelo serviço, os parâmetros de entrada e assim por diante. O Edge sugere qual método HTTP usar para cada operação. Normalmente, o Edge converte operações em solicitações GET, que têm a vantagem de serem armazenadas em cache. O Edge também configura o endpoint de destino do back-end, que pode variar de acordo com a operação de SAP.

    A menos que você esteja personalizando o novo proxy (e não esteja neste tutorial), isso é tudo. Prossiga para testar o novo proxy.

Como testar o proxy

Para testar o proxy que você criou, abra um prompt de comando e use cURL. Digite o comando abaixo, em que:

  • ORG é o nome da organização de Edge em que você criou o proxy.
  • ENV é o ambiente em que o proxy é implantado.
  • DOMÍNIO corresponde à instância de borda que você está usando.
curl "https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Por exemplo, se a organização for docfood, o ambiente for test e você estiver usando a nuvem empresarial do Edge, execute um comando como este:

curl "https://docfood-test.apigee.net/delayedstockquote/quote?StockSymbol=GOOG&LicenseKey=0"

Se você inseriu GOOG para o parâmetro de consulta StockSymbol, verá o preço atual das ações da Alphabet Inc. Classe C. Exemplo:

{  
   "GetQuoteResponse":{  
      "GetQuoteResult":{  
         "StockSymbol":"GOOG",
         "LastTradeAmount":819.55,
         "LastTradeDateTime":"2017-02-13T14:33:00",
         "StockChange":5.88,
         "OpenAmount":816.0,
         "DayHigh":820.96,
         "DayLow":815.49,
         "StockVolume":785064,
         "PrevCls":813.67,
         "ChangePercent":"+0.72%",
         "FiftyTwoWeekRange":"663.28 - 841.95",
         "EarnPerShare":27.88,
         "PE":29.4,
         "CompanyName":"Alphabet Inc.",
         "QuoteError":false
      }
   }
}

Acessar a especificação OpenAPI gerada automaticamente

Quando você faz o proxy de um serviço DAO usando "REST para DAO para REST", o Edge gera automaticamente uma especificação OpenAPI. Use a especificação OpenAPI para gerar a documentação referente à API.

Para conseguir a especificação OpenAPI, acesse este URL:

curl https://{ORG}-{ENV}.{DOMAIN}/delayedstockquote/openapi.json

Crédito extra: como descobrir qual recurso, verbo e parâmetro de consulta usar?

Na chamada de API de teste, você usou um recurso específico e parâmetros de consulta na chamada de cURL para o serviço SSO de back-end. Mas como você descobriria isso por conta própria?

Recurso e verbo

Ao criar o proxy, no assistente de proxy de API, você viu como as operações de SSO são mapeadas para verbos e recursos da API. Mas, se não as anotou, veja como descobriria depois da criação do proxy.

Na guia Desenvolver do proxy de API, no painel esquerdo do Navigator, você verá uma lista de fluxos sob os endpoints do proxy. Clique no fluxo em que você tem interesse. Por exemplo, o fluxo GetQuote é um bom candidato. Em seguida, visualize o XML no painel Code, que mostra o caminho do recurso e o verbo para o fluxo no elemento <Condition>: /quote e GET.

Parâmetros de consulta

Com o fluxo GetQuote selecionado, clique na primeira política na visualização de fluxo gráfico. Ela precisa ser uma política de extração de variáveis que capture os parâmetros de consulta que precisam ser transmitidos: StockSymbol e LicenseKey. Se você fizer uma pesquisa na Web pelo serviço NoSQL, ele informará o que transmitir para a LicenseKey.

Os parâmetros de consulta capturados são salvos como variáveis e usados pela próxima política para criar a mensagem de SSO.