domingo, 19 de maio de 2013
sábado, 29 de janeiro de 2011
Depurando WebServices
Olá Pessoal,
Nesse ultimo mês tive que fazer alguns workarounds para conseguir finalizar um trabalho de integração com o Salesforce, pois bem, aqui vão algumas dicas.
Para capturar os pacotes enviados para os webservices com os clientes C# e Java:
Utilizar o Wireshark para captura dos pacotes, porém caso seja https o soap estará criptografado, o que não irá adiantar de muita coisa, então simplesmente mude o caminho de destino https:// para http://, isso vai fazer com que o servidor recuse o seu pacote, mas já ajuda pra verificar se o envelope soap está enviando os dados corretos.
Verificando os pacotes descobri que realmente tinha coisa errada no C#, devido a propriedade no elemento que não estava sendo enviado no WSDL estar com minOccurs="0" o C# simplesmente não enviava os elementos boleanos.
Descoberto isso foi fácil, bastou remover esse atributo do wsdl que a comunicação com o servidor foi realizada com sucesso.
Outra forma de capturar os pacotes, mas nesse caso somente no cliente C#, é habilitar o trace no web.config
<system.diagnostics>
<trace autoflush="true"/>
<sources>
<source name="System.Net" >
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
<source name="System.Net.Sockets" >
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log"/>
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
</switches>
</system.diagnostics>
sexta-feira, 21 de janeiro de 2011
SoapUI: Testes de Web Services rápido e descomplicado
SoapUI é uma ferramenta open source escrita em Java cuja principal função é consumir e testar Web Services.
Confira o tutorial no link: http://www.linhadecodigo.com.br/artigo/1286/SoapUI-Testes-de-Web-Services-r%C3%A1pido-e-descomplicado.aspx