Gerar WebService Client no TDS

Gerar WebService Client no TDS

Gerar WebService Client no TDS, ou simplesmente WsClient, é muito simples, e vamos no post de hoje, aprender como fazer.

Geramos WsClient em AdvPL, quando, por exemplo, precisamos consumir WebServices (WS) SOAP de terceiros, ou dependendo do caso, até do próprio Protheus.

Entre os exemplos, podemos citar o consumo de WS dos Correios, Banco Central, Nota Fiscal Eletrônica ou qualquer serviço que disponha de tal serviço.

Lembrando que só geramos WsClient em AdvPL no TDS, para WS feitos em SOAP. O SOAP usa um formato chamado WSDL (Web Services Description Language), que nada mais é, do que a descrição do WS em formato XML.

Os passos abaixo referentes a geração do WsClient no TDS, devem ser gerados na perspectiva “Plataforma ToTvs” (ou ToTvs Platform).

Para criar o WsClient, primeiramente abra o TDS, e conecte-se ao respectivo Servidor (AppServer) e selecione o Projeto/Pasta o qual deseja gerar o fonte.

Em seguida clique em: Arquivo -> Novo -> Novo fonte WSDL AdvPL:

Novo Fonte WSDL AdvPLImagem 01 – Novo Fonte WSDL AdvPL

Ao abrir a tela de criação de função AdvPL, no campo do “Nome de função”, digite um nome para o seu fonte AdvPL.

Lembrando que no WsClient, o nome do objeto WsClient não será o nome do fonte, e sim o nome gerado pelo próprio WsClient. Podemos alterar esse nome, porém o “trabalho” que dá, não vale a pena pelo ganho que teremos, já que, esse “nome” deverá ser alterado em várias e várias partes do fonte.

No campo “Tipo”, se for usar um WebService disponível via internet, selecione “Remoto”. Se for importar um arquivo com a estrutura WSDL, selecione o tipo “Local”.

Agora em “URL”, cole a URL completa do WebService (WSDL). Se for usar um arquivo remoto, selecione o arquivo.

Em seguida, clique em “Concluir”.

Criar Funcao WSDL WsClient Protheus TDSImagem 02 – Criar Função WSDL WsClient Protheus TDS

Assim que o TDS consumir o WS, ele irá criar automaticamente o fonte do WsClient, conforme imagem abaixo:

Fonte WsClient Criado TDSImagem 03 – Fonte WsClient Criado pelo TDS

Como vocês podemos verificar, a geração de WsClient pelo TDS através de uma WSDL, é muito fácil.

Às vezes é necessário utilizar certificado digital para consumo HTTPS, ou fazer algumas configurações específicas, mas isso é assunto para outros posts.

Esperamos que o post de hoje, ajude os nossos amigos analisas.

Caso ainda não tenham se inscrito no Canal Smart Siga, ou em nossas mídias sociais, aproveitem para se cadastrar agora, pois assim, vocês recebem em primeira mão, todas as novidades do nosso site.

Aproveitem também, para ingressar em nosso Canal do Smart Siga no Telegram. Para tanto acessem: https://t.me/smartsiga

Abraços a todos amigos.

Smart Siga - TI Inteligente

 

 

Compartilhe:
  •  
  •  
  •  

12 thoughts on “Gerar WebService Client no TDS

    1. Boa Tarde Luiz,

      Obrigado pelo seu comentário e obrigado por acompanhar nosso site.

      Estamos preparando uma série de posts e vídeos relacionados a WS’s SOAP e REST.

      Continue acompanhando nosso site.

      Abraços.

      Smart Siga
      TI Inteligente

    1. Bom dia Bill, tudo bem?

      Obrigado pelo comentário.

      Fique ligado em nosso canal, que logo teremos novos posts e vídeos relacionados a WebService REST.

      Abraços,

      Smart Siga
      TI Inteligente

  1. Boa noite ,

    Estou com dificuldades para gerar um fonte WSDL de um servidor HTTPS.

    Poderia fazer um post explicando como gerar ?

    Atenciosamente.

  2. Boa noite Cristian ,

    Obrigado pelo rápido retorno , sim ele necessita de certificado, segui as instruções do link do TDN abaixo:

    http://tdn.totvs.com/display/tec/Acesso+a+Web+Services+que+exigem+certificados+de+CA

    Gerei os arquivos .cer e .pem , adicionei a claúsula [SSLConfigure] apontando para os certificados
    no .ini do server onde estou tentando gerar o fonte WSDSL:

    [SSLConfigure]
    SSL2 = 0
    SSL3 = 0
    TLS1_0 = 0
    TLS1_1 = 1
    TLS1_2 = 1
    Verbose = 0
    Bugs = 0
    State = 0
    CacheSize = 32
    CertificateServer=D:\TOTVS12\Protheus_Data\certtam\cert.pem
    KeyServer=D:\TOTVS12\Protheus_Data\certtam\key.pem
    PassPhrase=password
    ;CertificateClient = C:\cert\client-cert.pem
    ;KeyClient = C:\cert\client-key.pem

    Porém não consigo gerar o fonte WSDL do link abaixo:

    https://minutaservices.lancargo.com/CreateEminuta-3.0.0-ws/CreateEminuta-3.0.0?wsdl

    O mais engraçado e que se chamo a url em outra ferramenta por exemplo SOAPUI ou no próprio navegador o link está funcionando.

    Não sei se estou fazendo algum passo errado ou o problema está no TDS,rs.

    1. Boa Tarde Denys,

      Fiz um testes aqui com a URL do WSDL (https://minutaservices.lancargo.com/CreateEminuta-3.0.0-ws/CreateEminuta-3.0.0?wsdl), e também tive o mesmo problema que você.

      O problema é o seguinte; Se você abrir o WSDL via Browser, vai verificar que existe uma Tag chamada types.

      Dentro desse types (http://ws.latam.com/v3_0” schemaLocation=”http://minutaservices.lancargo.com:80/CreateEminuta-3.0.0-ws/CreateEminuta-3.0.0?xsd=11) estão sendo chamados outras URL’s.

      Normalmente dentro dos types são declarados os métodos.

      O WS indicado por você, em vez de chamar os métodos estão chamando novas URL’s as quais contém os métodos.

      Eu não sei se o Protheus consegue gerar o WS Client para WS com esse tipo de estrutura.

      Nesse caso, tem que acionar o suporte da Totvs, para verificar se tem que fazer algum tipo de configuração, caso o Protheus de suporte para tal tipo de WS.

      Muito obrigado por nos acompanhar.

      Abs,

      Smart Siga
      TI Inteligente.

  3. Boa noite Cristian tudo bem ?

    Obrigado pelo retorno , estamos com um chamado aberto na TOTVS referente a esse problema , eles sugeriram utilizar a classe TWSDLManager , não tenho conhecimento em Ws não é muito meu forte mas acredito que seria alimentar o fonte na mão utilizando essa classe, você tem algum post falando sobre esse assunto ou algum exemplo de fonte utilizando essa classe ?

    Agradeço desde já pelo apoio.

    Atenciosamente.

    Denys Gomes

    1. Bom dia Denys, tudo bem e com você?

      Obrigado pelo seu comentário.

      Ainda não temos posts referentes ao uso da classe TWSDLManager.

      Mas logo teremos posts sobre a mesma.

      Obrigado por nos acompanhar.

      Abs,

      Smart Siga
      TI Inteligente

    1. Bom dia Denys,

      Obrigado pelo seu comentário e obrigado por nos acompanhar.

      Fique ligado nos próximos posts.

      Abs,

      Smart Siga
      TI Inteligente

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Seja um Analista VIP!!!

Recebe em primeira mão as novidades do Canal Smart Siga, além de conteúdos exclusivos.