Testes de Web Services Com a ferramenta SoapUI

Introdução

SoapUI é uma ferramenta open source escrita em Java cuja principal função é consumir e testar Web Services. Ao nos depararmos com a necessidade de conectar nosso sistema a um web service, ou quando nós somos os desenvolvedores deste web service e precisamos testar o serviço a maneira mais rápida e descomplicada de realizar estes testes é utilizando o SoapUI.

Nos sistemas que trabalhei quando realizei a integração com web service da Nota Fiscal de Serviços Eletrônica(NFS-e) ou quando fiz integração com o web service dos correios utilizei o SoapUI para testar se o serviço estava disponível e para criar casos de uso do serviço onde simplesmente eu preenchia o XML de envio com as informações que precisava e o SoapUI me trazia o retorno do web service para análise.

Onde encontrar o SoapUI ?

Site do Projeto SoapUI

Após instalar e executar a abrir o SoapUI siga os passos abaixo para realizar os testes:

Criando um novo projeto

Para iniciar a utilização do SoapUI, você deverá criar um novo projeto. Para tal tarefa, você deverá clicar no menu “File>New WSDL Project”, como pode ser visto na figura abaixo. O SoapUI abrirá um diálogo solicitando o nome do novo projeto e o endereço WSDL do projeto.

Tela para criar um novo projeto de teste de web service na ferramenta SoapUI

Tela para criar um novo projeto de teste de web service na ferramenta SoapUI

Você precisa ter o endereço do WSDL do web service, no nosso caso iremos utilizar o web service dos correios
para consulta de prazos e preços de encomendas:
http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?wsdl

Você deve colocar o endereço do WSDL na tela New SoapUI Project conforme imagem abaixo:

Tela de criação de um novo projeto de web service

Tela de criação de um novo projeto de web service

Após colocar o nome do projeto e o endereço WSDL do web service clique em OK, será feita a importação do WSDL e irá montar o projeto de teste com todos os métodos disponíveis no web service.

Tela de importação do web service dos correios na ferramenta de testes SoapUI

Tela de importação do web service dos correios na ferramenta de testes SoapUI

Depois de montado o projeto, na lista de métodos do web service, selecione o método que deseja, no nosso caso o método CalcPrecoPrazo, clique no sinal (+) para expadir a lista e clique duas vezes no item Request conforme imagem abaixo:

Tela para abrir o método CalcPrecoPrazo

Tela para abrir o método CalcPrecoPrazo

Após clicar no item Request irá abrir uma tela o SoapUI criará uma Requisição Default (Request 1) para a operação

Instrução XML para operação Request criado pelo SoapUI

Instrução XML para operação Request criado pelo SoapUI

O SoapUI irá colocar uma interrogação ( ? ) em cada campo que deverá ser preenchido, você deve preenche esses campos com as informações conforme exemplo abaixo:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:CalcPrecoPrazo>
         <tem:nCdEmpresa>045684</tem:nCdEmpresa>
         <tem:sDsSenha>45685427</tem:sDsSenha>
         <tem:nCdServico>40010</tem:nCdServico>
         <tem:sCepOrigem>01311200</tem:sCepOrigem>
         <tem:sCepDestino>37900000</tem:sCepDestino>
         <tem:nVlPeso>10</tem:nVlPeso>
         <tem:nCdFormato>1</tem:nCdFormato>
         <tem:nVlComprimento>16</tem:nVlComprimento>
         <tem:nVlAltura>2</tem:nVlAltura>
         <tem:nVlLargura>11</tem:nVlLargura>
         <tem:nVlDiametro>16</tem:nVlDiametro>     
         <tem:sCdMaoPropria>S</tem:sCdMaoPropria>
         <tem:nVlValorDeclarado>10</tem:nVlValorDeclarado>      
         <tem:sCdAvisoRecebimento>S</tem:sCdAvisoRecebimento>
      </tem:CalcPrecoPrazo>
   </soapenv:Body>
</soapenv:Envelope>
Exemplo de chamada ao web service dos correios usando a ferramenta de testes SoapUI

Exemplo de chamada ao web service dos correios usando a ferramenta de testes SoapUI

Feito isso, clique no botão submite request no canto superior esquerdo da janela do centro onde esta a instrução request conforme imagem abaixo:

Tela de teste do web service dos correios

Tela de teste do web service dos correios

O SoapUI irá enviar uma requisição ao web service e o retorno do web service sera apresentado na tela direita:

Tela de envio de requisição ao web service de calculo de frete dos correios usando a ferramente de testes SoapUI

Tela de envio de requisição ao web service de calculo de frete dos correios usando a ferramente de testes SoapUI

9 comentários sobre “Testes de Web Services Com a ferramenta SoapUI

  1. Ótimo post! É bom ler sobre o mesmo assunto sob o ponto de vista do desenvolvedor!

  2. Dá para fazer requisições para outros tipos de web services ou somente SOAP?

  3. O site dos correios tambem tem WebServico de rastreio de pacotes?

  4. Fala pessoal,

    Estou tentando utilizar o método CalcPrazoData

    NcdServico: 40010
    sCepOrigem: 22231130
    sCepDestino: 21931590

    do http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx

    e está retornando: ERRO 7 – Cálculo indisponível. Object reference not set to an instance of an object.

    Alguém sabe dizer por quê?

  5. eu consigo simular o provedor de serviços ou somente o cliente?

  6. Boa Tarde! gostei muito deste poste, só queria saber como eu conseguiria realizar isso no Visual Studio 2010, estou programando em C#. Obrigado

  7. para testar tenho que ter os numeros de serviço dos correios onde os encontro? e onde encontro mais tutoriais do SOAPUI

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s