Admin Qua Abr 11, 2012 11:38 am
Jonathan,
segue resposta de um desenvolvedor sobre caso parecido com o seu:
"Uso Delphi 7 aqui – é uma linguagem bem antiga para WebServices. Assim sempre passo um pouco mais de trabalho.
Basicamente encontrei num fórum a solução – ao importar o WSDL para o Delphi ele presume um tipo de WebService diferente. Assim acaba montando o envelope SOAP fora do formato. Isto causada um erro do tipo não localizou o dispatch para {}XML.
No código gerado apenas precisava comentar a linha:
InvRegistry.RegisterInvokeOptions(TypeInfo(Services), ioLiteral);
Esta linha é adicionada pelo Delphi automaticamente. Retirando esta ele monta o envelope completamente diferente e tudo funciona.
Seria uma boa dica colocar no site exemplos de envelope – eu usava um componente HTTP especial onde eu precisava montar o envelope manualmente. Acabei usando o importador de WSDL do Delphi como uma medida desesperada. Se tivesse o exemplo do envelope ficaria legal."