Nesse artigo vamos abordar a criação de mocking (simulação) de serviços utilizando soapUI. O soapUI é uma ferramenta muito boa de testes para arquiteturas orientadas à serviços (SOA). Para instalá-lo é só acessar o site: http://sourceforge.net/projects/soapui/files/ e descompactar ou baixar um instalador e seguir o passo a passo.
Pra que serve o mocking de serviços? Quando você não tem o serviço, ou porque ele está em desenvolvimento, ou por algum motivo de infra estrutura, você pode simular esse serviço. O soapUI faz isso de uma maneira bem simples, sendo necessário somente o WSDL. Se você não sabe o que é WSDL, dê uma olhada no tutorial da W3Schools. Utilizarei o seguinte WSDL para a criação do mocking:
<?xml version="1.0" encoding="UTF-8" ?>
<definitions targetNamespace="http://www.thiagovespa.com.br/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://www.thiagovespa.com.br/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/">
<types>
<xsd:schema targetNamespace="http://www.thiagovespa.com.br/types"
elementFormDefault="qualified"/>
</types>
<message name="blogServicesRequest">
<part name="in" type="xsd:string"/>
</message>
<message name="blogServicesResponse">
<part name="return" type="xsd:string"/>
</message>
<portType name="ThiagoVespaBlogServices">
<operation name="GetBlogPost">
<input message="tns:blogServicesRequest"/>
<output message="tns:blogServicesResponse"/>
</operation>
</portType>
<binding name="ThiagoVespaBlogServicesSOAP11Binding"
type="tns:ThiagoVespaBlogServices">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetBlogPost">
<soap:operation style="document"
soapAction="http://www.thiagovespa.com.br/getBlogPost"/>
<input>
<soap:body use="literal" parts="in"/>
</input>
<output>
<soap:body use="literal" parts="return"/>
</output>
</operation>
</binding>
</definitions>
O primeiro passo é abrir o soapUI e criar um novo projeto. Clique em File, New soapUI Project. Preencha o Project Name e a localização do WSDL e clique em OK.

Clique com o botão direito no binding (ThiagoVespaBlogServicesSOAP11Binding) e selecione Generate Mock Service. Informe o nome do seu MockService e pressione OK.
Pressione Yes para abrir o editor de MockResponse. No lugar do '?' insira a resposta do seu MockService. No meu caso eu inseri o seguinte:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<return>Retorno do GetBlogPost</return>
</soapenv:Body>
</soapenv:Envelope>
Dê dois cliques no seu MockService (MockServiceBlogPost). Caso deseje alterar as configurações de path, porta e host, clique no ícone de ferramentas e especifique o valor desejado. No meu caso vou alterar a porta para 8085 e path para \getBlogPost.

Pressione OK e clique no ícone de play para colocar o serviço em execução.

Para verificar se o serviço está em execução, abra a URL do serviço no browser.

Agora você já está apto a utilizar esse serviço na sua aplicação. Caso queira verificar a execução, dê dois cliques no Response 1 do GetBlogPost contido no MockServiceBlogPost, clique no primeiro ícone do canto superior esquerdo escrito SOAP. No combo, clique em Create New e clique em OK.
Dê um nome e pressione OK. Informe a requisição e pressione play.
Pronto, serviço testado e validado. Isso é um mocking básico, mas com esse recurso não precisamos depender da implementação real do serviço e podemos agilizar o teste e desenvolvimento de softwares que utilizam arquitetura baseada em serviços.



[...] This post was mentioned on Twitter by CARLOS F. GONÇALVES, Thiago G. Vespa. Thiago G. Vespa said: Novo post: Mocking com soapUI http://j.mp/igIrLx [...]
Segue um post sobre como testar o web service dos correios usando SoapUI
http://regifelix.com/2013/01/06/testes-de-web-services-com-a-ferramenta-soapui/
[…] http://www.thiagovespa.com.br/blog/2011/01/24/mocking-com-soapui/ […]
Olá obrigado por dividir o seu conhecimento, sou novo em automação e estou me deparando com a seguinte barreira no uso da ferramenta SoapUi, ao criar o projeto e apontar para o serviço somente 3 métodos retornam o arquivo Request que possibilita gerar os casos de teste.
Os demais métodos retornados pelo serviço não trazem o arquivo, é preciso configurar usuário e senha em algum lugar para acessar esses métodos ? Fico no aguardo caso possa me indicar um norte para solução.
Tem como me enviar o código?