Gostaria de iniciar o Visual Studio, criar um projeto da Web (ou aplicativo de console - não importa).
Para o padrão .Net:
- Eu clicava com o botão direito do mouse no projeto e selecionava "Adicionar referência de serviço" no menu Adicionar contexto.
- Eu clicaria em Avançado e, em seguida, clique em Adicionar referência de serviço.
- Eu pegava o caminho completo do arquivo wsdl e colava na barra de endereço. Em seguida, dispare a seta (botão ir).
- Se houver um erro ao tentar carregar o arquivo, deve haver um URL quebrado e não resolvido que o arquivo precise resolver, conforme mostrado abaixo:
Consulte esta resposta para obter informações sobre como corrigir:
Resposta do Stackoverflow para: Não é possível criar referência de serviço para arquivo wsdl
Se não houver erro, você deve simplesmente definir o NameSpace que deseja usar para acessar o serviço e ele será gerado para você.
Para .Net Core
- Eu clicava com o botão direito do mouse no projeto e selecionava Serviço Conectado no menu Adicionar contexto.
- Eu selecionaria o Microsoft WCF Web Service Reference Provider na lista.
- Pressionaria procurar e selecionava o arquivo wsdl imediatamente. Defina o namespace e estou pronto para prosseguir. Consulte o URL de correção do erro acima se encontrar algum erro.
Qualquer um dos métodos acima irá gerar um cliente WCF simples e muito básico para você usar. Você deve encontrar uma classe "YourservicenameClient" no código gerado.
Para fins de referência, o arquivo cs gerado pode ser encontrado no seu Obj / debug (ou release) / XsdGeneratedCode e você ainda pode encontrar as DLLs na pasta TempPE.
Os Serviços criados devem ter métodos para cada um dos métodos definidos no contrato WSDL.
Instancie o cliente e chame os métodos que deseja chamar - isso é tudo!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Se você precisar especificar a URL remota (não usando a criada por padrão), poderá fazer isso facilmente no construtor do cliente proxy:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
onde configName
é o nome do nó de extremidade a ser usado (você usará todas as configurações, exceto a URL) e remoteURL
é uma sequência que representa a URL à qual se conectar (em vez da que está contida na configuração).