Olá pessoal, recentemente precisei consumir um Web Services que tinha sido gerado através do SOAP Server Application do Delphi. Criei o projeto, adicionei referencia através do Service References, o Visual Studio fez as classes e métodos necessários para consumir o Web Services, porém ao chamar qualquer método era retornado o erro:

The referenced element with ID ‘X’ was not found in the document.

ou

O elemento referenciado com identificação ‘X’ não foi encontrado no documento.

Depois de uma considerável pesquisa, descobri que o Web Services gerado pelo Delphi não é compatível com WCF. =’(

Depois desse desabafo vamos para a solução em alguns passos:

Passo 1

Abra o Visual Studio Command Prompt (2010)

Passo 2

Execute essa linha de comando para gerar uma classe Proxy com WSDL (logicamente, trocando o valores para um compatível com seu cenário):

wsdl /out:NomeDaClasseWebService.cs http://algumwebservice:8080/wsdl/IWebService

Passo 3

Adicione a classe gerada para o seu projeto.

Passo 4

Adicione uma referencia para System.Web.Services.

 

Caso tenha acesso ao WebService apenas muda a opção soRootRefNodeToBody para true e utilize o WCF normalmente.

 

E é isso ai, até a próxima pessoal.

Sobre Erick

Erick de Oliveira escreveu 19 artigos no blog.

Tagged with →  
Share →

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>