Existem uma variedade de linguagens de cliente que você pode aprender para criar aplicações web ou servidores para que qualquer pessoa use. Uma linguagem de cliente popular que muitas pessoas usam hoje em dia é o Python. Seja você um engenheiro de software ou um estudante universitário durante seu semestre, Python é uma escolha sólida de linguagem para adicionar ao seu arsenal de programação.
Python - Linguagem de Programação Popular
Se esta é sua primeira vez vendo Python, é uma linguagem de programação de computador bem conhecida por sua legibilidade e simplicidade. É muito mais amigável ao usuário em comparação com outras linguagens de programação existentes. Pode ser uma linguagem muito adequada para aprender se você estiver interessado em desenvolvimento web!
Outros casos de uso comum para Python estão na análise de dados, inteligência artificial e automação, então se você está planejando entrar nesses campos de estudo, é o momento perfeito para começar a se familiarizar com Python!
Serviços Web Baseados em SOAP
O que é SOAP em "SOAP-based"?
SOAP, abreviação de Simple Object Access Protocol, é um protocolo para troca de informações estruturadas entre serviços web, sistemas e aplicações.
Ao cumprir com o protocolo SOAP, você está seguindo um conjunto de regras para estruturar mensagens em XML (eXtensible Markup Language), permitindo que programas rodando em diferentes sistemas operacionais e tecnologias se comuniquem entre si.
Componentes Chave de uma Mensagem SOAP Típica
Envelope
: O elemento mais externo que encapsula toda a mensagem SOAP.
Header
: Uma seção opcional contendo informações adicionais para o processamento da mensagem.
Body
: A parte principal da mensagem contendo os dados reais ou as informações de solicitação/resposta.
Fault
: Uma seção opcional para relatar erros.
Arquivo WSDL que Vem com o Serviço SOAP
A documentação é o melhor amigo de um desenvolvedor quando você está tentando algo novo pela primeira vez. Para serviços web SOAP ou APIs SOAP, o manual de instruções vem na forma de um arquivo WSDL.
WSDL significa Linguagem de Descrição de Serviços Web, que fornece descrições das funcionalidades do serviço web, métodos suportados, tipos de dados usados e protocolos seguidos.
Por Que Considerar Usar Python para Trabalhar com Serviços Web SOAP?
Usar Python para trabalhar com serviços web baseados em SOAP oferece várias vantagens para os desenvolvedores. Aqui estão algumas razões pelas quais você deve considerar usar e aprender Python:
- Simples e Fácil: A sintaxe do Python é muito clara e fácil de ler. Isso torna a escrita, compreensão e manutenção de código Python muito mais simples do que em outras linguagens de programação.
- Biblioteca Extensa: Com Python, inúmeros conjuntos de bibliotecas e módulos podem trabalhar com e para serviços web - alguns até se especializando em simplificar o consumo de serviços SOAP ao reduzir a complexidade do código Python necessário para interagir com os serviços web baseados em SOAP.
- Versatilidade: Python é utilizado em muitos domínios diferentes, variando de desenvolvimento web a ciência de dados e aprendizado de máquina. Com uma boa compreensão de Python e serviços web, você pode facilmente integrar serviços web baseados em SOAP a aplicações nos campos de trabalho mencionados acima.
- Suporte da Comunidade: Desenvolvedores Python ao redor do mundo contribuem para a comunidade, produzindo recursos como tutoriais e guias para novos desenvolvedores trabalharem com a linguagem de programação Python, e isso inclui trabalhar com serviços web baseados em SOAP também.
- Suporte Multiplataforma: A linguagem de programação Python pode ser executada em vários sistemas operacionais, como Windows, macOS, Linux e mais. Isso permite que aplicações Python sejam muito mais manuteníveis em diferentes ambientes de trabalho.
Exemplos de Interação entre Python e Serviços Web Baseados em SOAP Usando a Biblioteca "Suds-Jurko"
Python requer a biblioteca "suds-jurko" para interagir com serviços web baseados em SOAP, portanto, antes de fazer qualquer coisa, certifique-se de executar a seguinte linha no Bash:
pip install suds-jurko
Interação Simples com o Serviço SOAP
from suds.client import Client
# Passo 1: Criar um Cliente SOAP
url = 'https://www.example.com/soap-service?wsdl'
client = Client(url)
# Passo 2: Explorar o Serviço
print(client)
# Passo 3: Chamar um Método SOAP
result = client.service.say_hello('John')
# Passo 4: Lidar com a Resposta
print(result)
Este exemplo usa um serviço SOAP que tem um método chamado say_hello
, que recebe um parâmetro e retorna uma saudação. Este código é funcional ao substituir a URL https://www.example.com/soap-service?wsdl
pela URL do arquivo WSDL real do seu serviço SOAP para começar a trabalhar com ele em Python!
Usando Python para Lidar com Tipos de Dados Complexos
from suds.client import Client
# Passo 1: Criar um Cliente SOAP
url = 'https://www.example.com/complex-service?wsdl'
client = Client(url)
# Passo 2: Explorar o Serviço
print(client)
# Passo 3: Chamar um Método SOAP com Tipo Complexo
person_data = {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}
result = client.service.process_person_data(person_data)
# Passo 4: Lidar com a Resposta
print(result)
O exemplo de código Python acima demonstra um serviço SOAP com um método chamado process_person_data
que recebe um tipo complexo como parâmetro.
Criando Serviços Web Baseados em SOAP Usando Python
Você pode criar seu próprio serviço web baseado em SOAP (ou API SOAP) com a linguagem Python. Comece instalando a biblioteca spyne
no Bash
pip install spyne
Em seguida, você deve criar um novo arquivo Python. Como exemplo deste artigo, o nome do arquivo seria soap_service.py
. Note que a API SOAP será definida pela sypne
.
from spyne import Application, rpc, ServiceBase, Iterable, Integer, Unicode
class HelloWorldService(ServiceBase):
@rpc(Unicode, Integer, _returns=Iterable(Unicode))
def say_hello(ctx, name, times):
for i in range(times):
yield f"Hello, {name}!"
# Criar a aplicação com o serviço especificado
application = Application([HelloWorldService], tns='my_namespace', in_protocol=None, out_protocol=None)
Para garantir que sua API possa funcionar, adicione o seguinte código abaixo ao arquivo que você criou no passo anterior.
from wsgiref.simple_server import make_server
if __name__ == '__main__':
server = make_server('0.0.0.0', 8000, application)
server.serve_forever()
Por fim, verifique se está funcionando executando o script Python no Bash.
python soap_service.py
Esta API SOAP deve estar rodando em um servidor HTTP simples com a URL http://0.0.0.0:8000
.
Testando a API SOAP do Python Usando Apidog
Está se perguntando se a API SOAP que você fez com Python funciona? Experimente usar o Apidog - uma poderosa plataforma de API que permite não apenas testar, mas também depurar e criar APIs.
Neste artigo, será fornecida uma demonstração de como testar APIs SOAP do Python (Nota: Esta solicitação é diferente de Python requests!).
Pré-requisitos para Testes
Para testar a API SOAP do Python, certifique-se de que:
- A API SOAP do Python já está rodando
- Instale o Apidog clicando no botão abaixo!
Você também terá que escolher qual conta prefere usar para fazer login no Apidog.
Passos para Testar a API SOAP do Python no Apidog
Passo 1: Criar uma Nova Solicitação no Apidog

Selecione o botão conforme mostrado na imagem acima.
Passo 2: Configurar a Nova Solicitação

Seta 1 - Certifique-se de definir o tipo de solicitação como POST, pois solicitações SOAP geralmente são enviadas pelo método HTTP POST. Aqui, você também deve definir a URL da Solicitação para o endpoint da sua API SOAP Python em execução. Um exemplo essa URL de solicitação pode ser http://localhost:8000/
.
Seta 2 - Adicione quaisquer parâmetros adicionais para corresponder à sua API SOAP.
Passo 3 - Incluir Cabeçalhos

Para chegar à seção acima, clique no botão "Cabeçalhos" e adicione os dois cabeçalhos à sua solicitação:
Content-Type
: Defina isso comotext/xml
.SOAPAction
: Defina isso como a ação ou método SOAP que você deseja invocar.
Passo 4 - Definir Corpo da Solicitação

- Na seção "Corpo", selecione a opção
raw
. - Construa uma solicitação SOAP usando o formato XML que corresponda ao método de serviço que você deseja chamar no espaço em branco indicado pela seta.
Um exemplo de solicitação SOAP para um método chamado say_hello
pode ser adicionado, como este:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="my_namespace">
<soapenv:Header/>
<soapenv:Body>
<web:say_hello>
<name>John</name>
<times>3</times>
</web:say_hello>
</soapenv:Body>
</soapenv:Envelope>
Apenas certifique-se de que se o exemplo de código acima for usado, que o namespace (my_namespace
) e os parâmetros do método sejam substituídos pelos detalhes reais do seu serviço.
Passo 5 - Enviar Solicitação e Verificar Resposta
Uma vez que tudo esteja pronto, pressione o botão "Enviar" encontrado na parte superior direita da tela!
Se for bem-sucedido, você deverá conseguir visualizar a resposta recebida. Verifique novamente se a resposta é o que você espera que seja.
Conclusão
Python é uma linguagem de programação recomendada que oferece muita flexibilidade para programadores novos e antigos. Tudo o que você precisa fazer é selecionar uma plataforma de API (como o Apidog), e você pode começar a testar a funcionalidade da sua API SOAP. No entanto, você também pode usar Apidog para testar APIs REST do Python também!