Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Ponto de vista / Exemplos de API SOAP (Com Comparação de API REST)

Exemplos de API SOAP (Com Comparação de API REST)

Familiarize-se com APIs SOAP para seus projetos de desenvolvimento de software!

SOAP no contexto de APIs não é fragante nem é o que você usa para limpar seu corpo. SOAP é um protocolo que permitiu que desenvolvedores em todo o mundo utilizassem Serviços Web, ou o que agora conhecemos geralmente como APIs.

Este artigo descreverá o que são APIs SOAP, do que são compostas e outras características que definem e separam as APIs SOAP de diferentes tipos de APIs, como as APIs REST.

O que é SOAP?

SOAP significa Protocolo de Acesso a Objetos Simples, um sistema de comunicação e troca de informações em Serviços Web, aplicações e sistemas amplamente utilizado.

As APIs SOAP dão mais importância à mensagem dos dados, já que você notará que as APIs SOAP têm mais orientações para os desenvolvedores definirem a estrutura da solicitação, resposta e conteúdo da mensagem. Isso torna as APIs SOAP muito relevantes em aplicações que exigem o envio de mensagens entre sistemas.

O que é único nas APIs SOAP?

Existem propriedades que as APIs SOAP possuem que as tornam um tipo diferente de API. Aqui estão as diferenças significativas que as APIs SOAP demonstram em relação a outros tipos de protocolos de API.

Protocolo baseado em XML

XML (eXtensible Markup Language) é uma linguagem legível para humanos e máquinas. As APIs SOAP dependem dessa linguagem para encapsular os dados.

Estrutura da Mensagem

A estrutura das APIs SOAP se assemelha a um e-mail envelopado, com elementos específicos com suas respectivas funções. Por essa razão, o SOAP é considerado longo e pesado em comparação com outras APIs.

Os quatro componentes principais de uma API SOAP são:

  1. Envelope - O elemento externo de uma mensagem SOAP que contém o restante da mensagem: o cabeçalho, corpo e falha. A tag envelope é a primeira e a última tag que envolve a mensagem SOAP.
  2. Cabeçalho - Uma seção opcional da mensagem SOAP que pode especificar requisitos adicionais da mensagem enviada, como detalhes de autenticação e informações de transação. Pode variar amplamente dependendo do contexto em que a API SOAP é usada.
  3. Corpo - a seção principal da mensagem SOAP que contém a solicitação ou a resposta da mensagem. É aqui que aplicações ou sistemas obtêm as informações que precisam para cumprir seu papel.
  4. Falha - Outra seção opcional da mensagem SOAP que exibe os detalhes de quaisquer erros que possam surgir através da solicitação e resposta da API SOAP.

Conformidade ACID

ACID (Atomicidade, Consistência, Isolamento e Durabilidade) é uma característica que uma API pode possuir. Quando se diz que uma API SOAP tem conformidade ACID, você pode esperar que as transações de dados tenham essas propriedades:

Atomicidade - A troca de dados envolvida nas APIs SOAP é tratada como uma única unidade, onde o pacote é enviado inteiramente ou não é enviado. Se a troca falhar, o pacote de dados é revertido completamente, deixando o banco de dados como está para manter a consistência de ambos os sistemas.

Consistência - Sempre que houver uma falha durante a transação de dados, tudo é revertido ao seu estado inicial para evitar danos aos bancos de dados de ambos os sistemas.

Isolamento - Uma solicitação de API SOAP é tratada separadamente de outra em isolamento, onde não são feitas juntas com outras operações. Isso é feito para garantir que a integridade do banco de dados seja preservada.

Durabilidade - Quaisquer alterações, seja uma edição, adição ou redução, serão permanentes e não serão alteradas até que a próxima solicitação da API SOAP seja processada e concluída.

Extensibilidade

A estrutura SOAP se tornou um protocolo amplamente utilizado para resolver inúmeros problemas comuns enfrentados pelos desenvolvedores. Desde então, os desenvolvedores também estenderam as APIs SOAP através de um conjunto de especificações conhecidas como WS-* (Especificações de Serviços Web). Essas especificações adicionam padrões adicionais para vários aspectos dos serviços web, como transações (WS-AtomicTransacition) e endereçamento (WS-Addressing).

SOAP vs. REST - As Diferenças

Muitos novos desenvolvedores podem ficar sobrecarregados com a variedade de tipos de API que lhes são apresentados. Outro arquétipo de API muito popular é a API REST (REpresentational State Transfer), onde REST é um estilo arquitetônico de criação de serviços web.

Vale a pena entender mais sobre o que é uma API REST! Quem sabe, talvez um dia você projete uma API amplamente utilizada que os desenvolvedores valorizam!

Diferenças de Linguagem

SOAP - As transações de dados com APIs SOAP usam o formato de mensagem XML, com uma estrutura fixa para enviar solicitações e receber respostas.

REST - As transações de dados com APIs REST podem ser em diferentes formatos de mensagem de dados, como XML, JSON e HTML, permitindo mais flexibilidade.

Manipulação de Erros

SOAP - APIs SOAP têm casos de erro especificados, que fazem parte de seu elemento de falha.

REST - APIs REST têm que confiar em códigos de status HTTP para indicar se a solicitação ou resposta foi bem-sucedida. É possível ver detalhes adicionais de erro no corpo da resposta.

Uso de Métodos HTTP

SOAP - APIs SOAP dependem de métodos HTTP POST para todos os tipos de operações.

REST - APIs REST utilizam outros métodos HTTP, como GET, POST, PUT e DELETE, dependendo do cenário que precisar.

Exemplos de APIs SOAP Famosas

API Amazon Web Services (AWS)

api amazon web services
API Amazon Web Services

AWS originalmente usou SOAP como o protocolo principal para seus serviços web, mas introduziu alternativas RESTful. No entanto, as APIs SOAP ainda são suportadas para alguns serviços. Por exemplo, o Amazon Simple Queue Service (SQS) inicialmente usou SOAP.

API Microsoft SharePoint

Microsoft SharePoint é uma plataforma colaborativa que depende do SOAP para sua API. Os desenvolvedores usaram solicitações SOAP para interagir e manipular dados e serviços do SharePoint.

API Salesforce

página da web da api salesforce
Página de Destino da API Salesforce

Salesforce, uma popular plataforma de gerenciamento de relacionamento com clientes (CRM), fornece uma API SOAP que permite aos desenvolvedores integrar e interagir com dados do Salesforce.

API Java para Serviços Web XML (JAX-WS)

JAX-WS é uma API baseada em Java para criar serviços web baseados em SOAP. Fazia parte da plataforma Java EE (Edição Empresarial) e permitia que os desenvolvedores construíssem e consumissem serviços web SOAP em Java.

Usando Apidog para Importar APIs SOAP a partir de arquivos WSDL

Para entender e revisar APIs SOAP, você pode usar plataformas de API para isso. Apidog é uma nova e poderosa plataforma de API que permite que os desenvolvedores importem APIs SOAP na forma de arquivos WSDL para editar e depurar APIs SOAP existentes.

Tudo o que você precisa fazer é baixar o aplicativo, criar uma conta e iniciar um novo projeto para começar a importar APIs SOAP!

botão

Depois de criar um novo projeto, comece a importar suas APIs SOAP seguindo estes passos:

importar arquivo wsdl da api soap apidig editar
Importando arquivo WSDL da API SOAP no Apidog

Seta 1 - Localize o botão "Configurações" na barra lateral vertical.

Seta 2 - Localize a aba "Importar Dados" sob "Gerenciamento de Dados"

Seta 3 - Selecione o botão "WSDL" na aba "Importar Dados".

editar arquivo wsdl da api soap apidog depuração
Editando API SOAP no Apidog

Depois de importar com sucesso o arquivo WSDL, você pode seguir este próximo conjunto de instruções para começar a aperfeiçoar sua API SOAP.

Seta 1 - Selecione a solicitação da API SOAP importada (dê um nome diferente das outras solicitações de API existentes que você fez antes.)

Seta 2 - Localize a subseção "Corpo".

Seta 3 - Localize a pequena subseção "xml".

Seta 4 - Comece a editar sua mensagem da API SOAP.

Usando Apidog para Testar APIs SOAP Importadas de Arquivos WSDL

Todo desenvolvedor de serviço web precisa testar se seu produto funciona após as mudanças serem feitas. Felizmente, o Apidog permite que os desenvolvedores criem cenários de teste para suas APIs. Aqui está um guia passo a passo.

inicializando novo cenário de teste apidog
Inicializando um novo cenário de teste no Apidog

Primeiramente, localize o botão "Teste" apontado pela Seta 1 na imagem acima. Você deve então ver "Novo Cenário de Teste", apontado pela Seta 2.

descrição novo cenário de teste apidog
Preencha a descrição para o novo cenário de teste

Você deve então receber esta janela pop-up, pedindo que você insira alguns detalhes sobre seu novo cenário de teste. Depois de preenchê-lo, você pode clicar no botão "OK" no canto inferior direito ou simplesmente pressionar "Enter" no seu teclado.

adicionar passo novo cenário de teste api apidog
Adicionando passo(s) ao cenário de teste

Adicione um passo (ou muitos passos) aos seus cenários de teste clicando na seção "Adicionar Passo". Você deve ser capaz de ver a imagem abaixo.

selecionar importar da api soap apidog
Selecionar "Importar de APIs"

Selecione "Importar de API" no menu suspenso.

adicionar caso de teste da api soap serviço web apidog
Adicionar todas as APIs a incluir no seu cenário de teste

Selecione todas as APIs que você gostaria de incluir no seu cenário de teste. No exemplo acima, a API chamada NumberConversionSOAP foi incluída.

editar ambiente de teste iniciar execução de cenário de teste apidog
Definir Ambiente para "Ambiente de Teste" e pressionar "Executar" para iniciar o teste

Antes de pressionar o botão "Executar" para iniciar seu cenário de teste, certifique-se de alterar o ambiente do cenário de teste, que deve ser "Ambiente de Teste", conforme apontado pela Seta 1.

Tente e veja se sua API pode atender a todos os seus requisitos!

Conclusão

REST e SOAP têm suas diferenças e semelhanças, no entanto, ambos se destacam em certas situações, então certifique-se de que você está equipado com o conhecimento certo!

Para saber mais sobre APIs SOAP, confira como você pode usar a amplamente conhecida API Jakarta SOAP e implementá-la em seus projetos ou aplicações!

Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.