Cliente de teste WCF (WcfTestClient.exe)
O Cliente de Teste (WcfTestClient.exe) do Windows Communication Foundation (WCF) é uma ferramenta GUI que permite aos usuários inserir parâmetros de teste, enviar essa entrada para o serviço e exibir a resposta que o serviço envia de volta. Ele fornece uma experiência de teste de serviço perfeita quando combinado com o WCF Service Host.
Normalmente, você pode encontrar o WCF Test Client (WcfTestClient.exe) no seguinte local: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
- Comunidade pode ser um de "Enterprise", "Professional" ou "Community", dependendo de qual nível do Visual Studio está instalado.
Cenários para usar o cliente de teste
As seções a seguir discutem os cenários mais comuns nos quais você pode usar o WCF Test Client para simplificar seu processo de desenvolvimento.
Por dentro do Visual Studio
O host de serviço WCF inicia o cliente de teste WCF com um único serviço
Depois de criar um novo projeto de serviço WCF e pressione F5 para iniciar o depurador, o host de serviço WCF começa a hospedar o serviço em seu projeto. Em seguida, WCF Test Client abre e exibe uma lista de pontos de extremidade de serviço definidos no arquivo de configuração. Você pode testar os parâmetros e invocar o serviço, e repetir esse processo para testar e validar continuamente seu serviço.
O host de serviço WCF inicia o cliente de teste WCF com vários serviços
Você também pode usar o WCF Test Client para ajudar a depurar um projeto de serviço que contém vários serviços. Quando o WCF Test Client é aberto, ele itera automaticamente a lista de serviços em seu projeto e os abre para teste.
Fora do Visual Studio
Você também pode invocar o WCF Test Client (WcfTestClient.exe) fora do Visual Studio para testar um serviço arbitrário na Internet. Para localizar a ferramenta, vá para o seguinte local:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
(onde a comunidade pode ser uma das "Enterprise", "Professional" ou "Community", dependendo do nível do Visual Studio instalado na máquina)
Para usar a ferramenta, clique duas vezes no nome do arquivo para abri-lo a partir desse local ou inicie-o a partir de uma linha de comando.
WCF Test Client usa um número arbitrário de URIs como argumentos de linha de comando. Estes são os URIs de serviços que podem ser testados.
wcfTestClient.exe URI1 URI2 …
Depois que a janela WCF Test Client for aberta, clique em File-Add> Service e insira o endereço do ponto de extremidade do serviço que você deseja abrir.
Interface do usuário do cliente de teste WCF
Você pode usar o WCF Test Client com um único serviço ou vários serviços.
Operações de Serviço
O painel esquerdo da janela principal do WCF Test Client lista todos os serviços disponíveis, juntamente com seus respetivos pontos de extremidade e operações.
Ao clicar duas vezes em uma operação, você pode exibir seu conteúdo no painel direito dentro de uma nova guia com o nome da operação.
O painel esquerdo também lista os arquivos de configuração do cliente. Clique duas vezes em qualquer um dos itens para exibir o conteúdo do arquivo em uma nova janela com guias no painel direito.
Inserindo parâmetros de teste
Para exibir os parâmetros de teste, clique duas vezes em uma operação para abri-la no painel direito. Os parâmetros são mostrados no modo de exibição formatado por padrão, e você pode inserir valores arbitrários para os parâmetros para testar o serviço.
Para exibir o XML da mensagem, clique em XML. Para enviá-los ao serviço, clique em Invocar.
Para um parâmetro DataSet, clique no botão ... ao lado de Editar... para editá-lo em uma nova janela mostrando o DataGrid. Observe a aparência dos botões Copiar DataSet e Colar DataSet . Se o esquema do objeto DataSet for desconhecido na primeira edição, o DataGrid estará vazio. Você precisa colar um objeto DataSet com o mesmo esquema no objeto atual no DataGrid. (Observe que você precisa copiar o esquema de outro lugar antes da operação de colagem.) Você também pode copiar um objeto Dataset para uso futuro clicando no botão Copy DataSet .
A resposta do serviço aparece abaixo dos parâmetros de teste.
Nota
Se o valor de retorno esperado for uma cadeia de caracteres, o resultado será exibido como uma cadeia de caracteres entre aspas, mesmo que a entrada fornecida não esteja entre aspas.
Se você especificou uma operação específica como unidirecional quando criou o contrato para o serviço, nenhuma resposta de serviço será exibida. Assim que a mensagem é enfileirada para entrega, uma caixa de diálogo aparece para notificá-lo de que a mensagem foi enviada com êxito.
Suporte de Sessão
A caixa de seleção Iniciar um novo proxy na guia de uma operação de serviço permite que você alterne o suporte à sessão. Esta caixa está desmarcada por predefinição.
Quando você insere parâmetros de teste para uma operação específica (ou outra operação no mesmo ponto de extremidade de serviço) e clica em Invocar várias vezes com a caixa de seleção desmarcada, essas operações compartilham um proxy e o status do serviço é mantido em várias operações.
Se a caixa de seleção Iniciar um novo proxy estiver marcada, um novo proxy será iniciado para cada Invocação, o cenário de sessão anterior será encerrado e o status do serviço será redefinido.
Editando a configuração do cliente
O painel esquerdo da janela principal do WCF Test Client lista os arquivos de configuração do cliente. Clique duas vezes em qualquer um dos itens para exibir o conteúdo do arquivo no painel direito.
Editar com o Editor de Configuração de Serviço
Clique com o botão direito do mouse em Config File no painel esquerdo e selecione o menu de contexto Edit with SvcConfigEditor. O Editor de Configuração de Serviço é iniciado com o conteúdo de configuração do cliente. Você pode editar a configuração e salvá-la dentro da ferramenta.
Depois de salvar o arquivo no Editor de configuração de serviço, o cliente de teste WCF exibe uma mensagem de aviso para informá-lo de que o arquivo foi modificado fora e pergunta se você gostaria de recarregá-lo.
Se você selecionar Sim, o conteúdo da configuração na guia "Client.dll.config" refletirá as alterações feitas no editor.
Se você selecionar Não, o conteúdo de configuração na guia "Client.dll.config" permanecerá inalterado e o conteúdo modificado será salvo automaticamente no arquivo de origem.
Restaurar para a configuração padrão
Se você quiser cancelar todas as alterações e restaurar para a configuração padrão do cliente, clique com o botão direito do mouse em Arquivo de configuração no painel esquerdo e selecione o menu de contexto Restaurar para configuração padrão. O valor de configuração padrão é carregado e o conteúdo na guia "Client.dll.config" é restaurado.
Validar alterações
Quando as alterações salvas estão sendo carregadas no WCF Test Client, a configuração é verificada quanto à validade em relação ao esquema WCF. Se forem encontrados erros, uma caixa de diálogo será exibida para mostrar os detalhes do erro.
Durante a geração de proxy, compilação binária ou chamada de serviço, os itens de menu que suportam edição (ou seja, "Editar ...", "Restaurar ...", e assim por diante) são desativados. A invocação de serviço também é desabilitada ao carregar a configuração atualizada no WCF Test Client.
Persistir a configuração do cliente
A guia Tools-Options-Client>> Configuration contém uma opção Always Regenerate Config When Launch Services, que é habilitada por padrão. Esta opção especifica que sempre que o WCF Test Client carrega um serviço, ele regenera um arquivo de configuração com base no contrato de serviço mais recente e nos arquivos App.config de serviço.
Se você editou a configuração do cliente para seu serviço WCF e deseja sempre usar esse arquivo atualizado para depurar seu serviço, você pode desmarcar a opção Regenerar . Ao fazer isso, mesmo quando você atualiza o serviço e reabre o WCF Test Client, o arquivo Client.dll.config é aquele que você atualizou anteriormente em vez de um regenerado com base no serviço atualizado.
No entanto, talvez seja necessário editar o arquivo de configuração para torná-lo consistente com o proxy regenerado. Se o proxy regenerado e o arquivo de configuração forem incompatíveis devido a um serviço atualizado, ocorrerão erros quando o serviço for invocado.
Atenção
Se você tiver modificado o arquivo de configuração do cliente e optar por reutilizá-lo no futuro, poderá encontrar o arquivo no seguinte local:
\Documents and Settings\[Conta de usuário]\My Documents\Test Client Projects.
Todas as informações de credenciais atualizadas armazenadas no arquivo de configuração do cliente são protegidas pela Lista de Controle de Acesso (ACL) desta pasta.
Adicionando, removendo e atualizando serviços
Adicionar Serviço
Clique em File-Add> Service para adicionar um serviço ao WCF Test Client. Em seguida, é necessário digitar o URI (endereço do ponto final) do serviço a ser adicionado. O endereço do serviço pode ser um endereço mex ou um endereço WSDL.
Você também pode encontrar uma lista de 10 pontos de extremidade de serviços adicionados recentemente no submenu Serviços recentes. Se você selecionar um deles, o serviço especificado será adicionado ao WCF Test Client.
Você também pode clicar com o botão direito do mouse na raiz da árvore de serviço Meus Projetos de Serviço e selecionar Adicionar Serviço para obter o mesmo resultado.
Durante a geração de proxy, compilação binária ou chamada de serviço, os itens de menu que suportam a adição de um serviço são desativados. A invocação de serviço também está desativada.
Remover Serviço
Clique com o botão direito do mouse na raiz do serviço a ser removido e selecione Remover serviço para remover um serviço do WCF Test Client.
Durante a geração de proxy, compilação binária ou chamada de serviço, os itens de menu que suportam a remoção de um serviço são desativados. A invocação de serviço também está desativada.
Atualizar serviço
Se uma alteração for feita no serviço enquanto o Cliente de Teste WCF estiver em execução e você quiser garantir que a implementação do Cliente de Teste do WCF para esse serviço esteja atualizada, clique com o botão direito do mouse na raiz do serviço e selecione Atualizar Serviço. Observe que, após a atualização, o status do serviço é redefinido.
Durante a geração de proxy, compilação binária ou chamada de serviço, os itens de menu que suportam a atualização de um serviço são desativados. A invocação de serviço também está desativada.
Localização dos arquivos gerados pelo cliente de teste
Por padrão, o WCF Test Client armazena o código do cliente gerado e os arquivos de configuração na pasta "%appdata%\Local\temp\Test Client Projects". Esta pasta é excluída após a saída do WCF Test Client. Se um arquivo de configuração for modificado no WCF Test Client e a opção Always Regenerate Config When Launch Services estiver desabilitada, o arquivo modificado será copiado para a pasta "CachedConfig" em "My Documents\Test Client Projects" com um arquivo XML de mapeamento (metadata-address-to-file-name) como um índice.
Você também pode iniciar o WCF Test Client em uma linha de comando, usar a /ProjectPath
opção para especificar um novo caminho desejado para armazenar arquivos gerados ou usar a /RestoreProjectPath
opção para restaurar o local padrão. A sintaxe é a seguinte:
wcfTestClient.exe /ProjectPath [desired location]
A execução deste comando não abre o WCF Test Client. Somente o local da pasta é alterado. Você pode executar esse comando se o WCF Test Client estiver em execução ou não. O novo local é aplicado quando o WCF Test Client é reiniciado. As informações de localização podem ser guardadas no registo ou no ficheiro WcfTestClient.exe.option na pasta "%appdata%\Local\temp\Test Client Projects".
Recursos suportados pelo WCF Test Client
A seguir está uma lista de recursos suportados pelo WCF Test Client:
Invocação de Serviço: Solicitação/Resposta e Mensagem unidirecional.
Ligações: todas as ligações suportadas pelo Svcutil.exe.
Sessão de Controlo.
Contrato de mensagem.
Serialização XML.
A seguir está uma lista de recursos não suportados pelo WCF Test Client:
Tipos: Stream, Message, XmlElement, XmlAttribute, XmlNode, tipos que implementam a IXmlSerializable interface, incluindo o atributo relacionado XmlSchemaProviderAttribute , e os XDocument tipos e XElement e o tipo ADO.NET DataTable .
Contrato duplex.
Transação.
Segurança: CardSpace, Certificado e Nome de Utilizador/Palavra-passe.
Ligações: WSFederationbinding, qualquer ligação de contexto e vinculação Https, WebHttpbinding (suporte a mensagem de resposta Json).
Fechando o cliente de teste WCF
Você pode fechar o WCF Test Client das seguintes maneiras:
No menu Arquivo, clique em Sair. Como alternativa, na janela principal do WCF Test Client, clique em Fechar. Ambas as ações também encerram o WCF Service Auto Host e interrompem o processo de depuração do Visual Studio se o WCF Test Client foi iniciado pelo Visual Studio.
Clique com o botão direito do rato no ícone WCF Service Host na área de notificação e, em seguida, clique em Sair. Isso desliga o WCF Service Auto Host e WCF Test Client e interrompe o processo de depuração do Visual Studio.