15 de junho de 2018

Acessando webservices SOAP em Python

Apesar da grande adoção de REST para a criação de webservices, ainda é muito comum (e necessário) termos que trocar mensagens com sistemas legados, inclusive em outras linguagens como Java e .NET, assim poder fazer em chamadas a endpoints SOAP se torna necessário muitas vezes.

Esta necessidade surgiu para mim quando vi que testar serviços em SOAP seria muito mais fácil ser feito em Python, devido sua sintaxe idiomática e scripts muito simples de serem construídos. Buscando nas "internets" eu descobri uma biblioteca chamada Zeep, que de tão simples que é o seu acesso não compensa nem discutir muito, mas já irmos direto ao código, utilizando o webservice dos Correios:

Como podemos ver, é tudo muito simples, basta criarmos um objeto do tipo Client passando a string do WSDL e através de services temos acessos ao métodos do serviço. Tendo a necessidade de inspecionar o serviço podemos rodar o seguinte comando:

python -m zeep http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?WSDL
Retornando assim os tipos e as operações do serviço.

Nenhum comentário:

Postar um comentário