Usando svcutil, você pode criar interfaces e classes (contratos de dados) a partir do WSDL.
svcutil your.wsdl (or svcutil your.wsdl /l:vb if you want Visual Basic)
Isso criará um arquivo chamado "your.cs" em C # (ou "your.vb" em VB.NET) que contém todos os itens necessários.
Agora, você precisa criar uma classe "MyService" que implementará a interface de serviço (IServiceInterface) - ou as várias interfaces de serviço - e esta é sua instância de servidor.
Agora, uma classe por si só ainda não ajuda - você precisará hospedar o serviço em algum lugar. Você precisa criar sua própria instância ServiceHost que hospeda o serviço, configurar pontos de extremidade e assim por diante - ou pode hospedar seu serviço dentro do IIS.
Existem bons recursos disponíveis, se você souber o que pesquisar. Experimente "Contrato primeiro" e WCF. ou "WSDL First" e WCF.
Aqui está uma seleção:
fonte
ReplyAction="*"
. Parece que você precisa se livrar disso. Há uma trilha de explicações desse comentário que dá o raciocínio, mas eu não li.Use svcutil.exe com a
/sc
opção para gerar os contratos WCF. Isso criará um arquivo de código que você pode adicionar ao seu projeto. Ele conterá todas as interfaces e tipos de dados de que você precisa para criar seu serviço. Altere o local de saída usando a/o
opção ou você pode encontrar o arquivo na pasta onde executou svcutil.exe. A linguagem padrão é C #, mas acho (nunca tentei) você deve conseguir alterar isso usando/l:vb
.Se o seu WSDL tiver qualquer arquivo XSD de suporte, transmita-os como argumentos após o WSDL.
Em seguida, crie uma nova classe que seja o seu serviço e implemente a interface de contrato que você acabou de criar.
fonte
Você pode usar svcutil.exe para gerar o código do cliente. Isso incluiria a definição do contrato de serviço e quaisquer contratos de dados e contratos de falha necessários.
Em seguida, basta excluir o código do cliente: classes que implementam os contratos de serviço. Em seguida, você precisará implementá-los sozinho, em seu serviço.
fonte
Usando a ferramenta "Add Service Reference" no Visual Studio, você pode inserir o endereço como:
E ele irá carregar corretamente.
fonte