Compartilhar via


Cliente de teste do WCF (WcfTestClient.exe)

O Cliente de Teste do Windows Communication Foundation (WCF) (WcfTestClient.exe) é uma ferramenta de GUI que permite que os usuários insiram parâmetros de teste, enviem essa entrada para o serviço e exibam a resposta que o serviço envia de volta. Ele fornece uma experiência de teste de serviço perfeita quando combinado com o Host de Serviço do WCF.

Normalmente, você pode encontrar o cliente de teste do WCF (WcfTestClient.exe) no seguinte local: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE - A comunidade pode ser uma 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 Cliente de Teste do WCF para simplificar o processo de desenvolvimento.

Dentro do Visual Studio

O host de serviço WCF inicia o cliente de teste do WCF com um único serviço

Depois de criar um novo projeto de serviço do WCF e pressionar F5 para iniciar o depurador, o Host de Serviço do WCF começará a hospedar o serviço em seu projeto. Em seguida, o Cliente de Teste do WCF é aberto 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 do serviço WCF inicia o cliente de teste do WCF com vários serviços

Você também pode usar o cliente de teste do WCF para ajudar a depurar um projeto de serviço que contém vários serviços. Quando o Cliente de Teste do WCF é 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 cliente de teste do WCF (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 (em que a comunidade pode ser uma de "Enterprise", "Professional" ou "Community", dependendo de qual nível do Visual Studio está instalado no computador)

Para usar a ferramenta, clique duas vezes no nome do arquivo para abri-la desse local ou inicie-a a partir de uma linha de comando.

O cliente de teste do WCF 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 Cliente de Teste do WCF for aberta, clique em Arquivo->Adicionar Serviço e insira o endereço do ponto de extremidade do serviço que você deseja abrir.

Interface do usuário do cliente de teste do WCF

Você pode usar o cliente de teste do WCF com um único serviço ou vários serviços.

Operações de serviço

O painel esquerdo da janela principal do Cliente de Teste do WCF lista todos os serviços disponíveis, indicando seus respectivos endpoints 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 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 Conjunto de Dados e Colar Conjunto de Dados. 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 de conjunto de dados para uso futuro clicando no botão Copiar Conjunto de Dados .

A resposta do serviço aparece abaixo dos parâmetros de teste.

Observação

Se o valor retornado 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 ao criar 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 notificar que a mensagem foi enviada com êxito.

Suporte de sessão

A caixa de seleção Iniciar um novo proxy na aba de operação do serviço permite ativar ou desativar o suporte à sessão. Por padrão, essa caixa está desmarcada.

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 for 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 Cliente de Teste do WCF 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 Arquivo de Configuração no painel esquerdo e selecione o menu de contexto Editar com 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 na ferramenta.

Depois de salvar o arquivo no Editor de Configuração de Serviço, o Cliente de Teste do WCF exibe uma mensagem de aviso para informá-lo de que o arquivo foi modificado lá 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 da configuração na guia "Client.dll.config" permanecerá inalterado e o conteúdo modificado será salvo automaticamente no arquivo de origem.

Restaurar para 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 Cliente de Teste do WCF, 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 detalhes do erro.

Durante a geração de proxy, compilação binária ou invocação de serviço, os itens de menu que dão suporte à edição (ou seja, "Editar ...", "Restaurar..." e assim por diante) são desabilitados. A invocação de serviço também é desabilitada ao carregar a configuração atualizada para o cliente de teste do WCF.

Manter a configuração do cliente

A guia Ferramentas->Opções->Configuração do Cliente contém uma opção Sempre Regenerar Configuração ao Iniciar Serviços, que está habilitada por padrão. Essa opção especifica que sempre que o Cliente de Teste do WCF carrega um serviço, ele regenera um arquivo de configuração com base no contrato de serviço mais recente e nos arquivos de 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, poderá desmarcar a opção Regenerar . Ao fazer isso, mesmo quando você atualiza o serviço e reabre o cliente de teste do WCF, 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.

Cuidado

Se você modificou o arquivo de configuração do cliente e selecionou reutilizá-lo no futuro, poderá encontrar o arquivo no seguinte local:

\Documentos e Configurações\[Conta de Usuário]\Meus Documentos\Testar Projetos do Cliente.

Todas as informações de credencial atualizadas armazenadas no arquivo de configuração do cliente são protegidas pela ACL (Lista de Controle de Acesso) dessa pasta.

Adicionando, removendo e atualizando serviços

Adicionar Serviço

Clique em Arquivo->Adicionar Serviço para adicionar um serviço ao Cliente de Teste do WCF. Em seguida, é necessário digitar o URI (endereço do ponto de extremidade) 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 cliente de teste do WCF.

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 invocação de serviço, os itens de menu que dão suporte à adição de um serviço são desabilitados. A chamada de serviço também está desabilitada.

Remover serviço

Clique com o botão direito do mouse na raiz de serviço do serviço a ser removido e selecione Remover Serviço para remover um serviço do Cliente de Teste do WCF.

Durante a geração de proxy, compilação binária ou invocação de serviço, os itens de menu que dão suporte à remoção de um serviço são desabilitados. A chamada de serviço também está desabilitada.

Atualizar Serviço

Se uma alteração for feita no serviço enquanto o cliente de teste do WCF estiver em execução e você quiser garantir que a implementação do cliente de teste do WCF para esse serviço seja up-to-date, 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 invocação de serviço, os itens de menu que dão suporte à atualização de um serviço são desabilitados. A chamada de serviço também está desabilitada.

Local dos arquivos gerados pelo cliente de teste

Por padrão, o Cliente de Teste do WCF armazena arquivos de configuração e código do cliente gerados na pasta "%appdata%\Local\temp\Test Client Projects". Essa pasta é excluída após a saída do cliente de teste do WCF. Se um arquivo de configuração for modificado no Cliente de Teste do WCF e a opção Always Regenerate Config When Launching Services estiver desabilitada, o arquivo modificado será copiado para a pasta "CachedConfig" em "Meus Documentos\Testar Projetos do Cliente" com um arquivo XML de mapeamento (metadata-endereço para nome de arquivo) como um índice.

Você também pode iniciar o Cliente de Teste do WCF em uma linha de comando, usar a opção /ProjectPath para especificar um novo caminho desejado para armazenar arquivos gerados ou usar a opção /RestoreProjectPath para restaurar o local padrão. A sintaxe é a seguinte:

wcfTestClient.exe /ProjectPath [desired location]

A execução desse comando não abre o Cliente de Teste do WCF. Somente o local da pasta é alterado. Você pode executar esse comando se o cliente de teste do WCF está em execução ou não. O novo local é aplicado quando o cliente de teste do WCF é reiniciado. As informações de localização podem ser salvas no Registro ou no arquivo .option WcfTestClient.exena pasta "%appdata%\Local\temp\Test Client Projects".

Recursos compatíveis com o cliente de teste do WCF

Veja a seguir uma lista de recursos compatíveis com o cliente de teste do WCF:

  • Invocação de Serviço: Solicitação/Resposta e mensagem unidirecional.

  • Associações: todas as associações suportadas por Svcutil.exe.

  • Sessão de controle.

  • Contrato de mensagens.

  • Serialização XML.

Veja a seguir uma lista de recursos sem suporte do cliente de teste do WCF:

Fechando o cliente de teste do WCF

Você pode fechar o cliente de teste do WCF das seguintes maneiras:

  • No menu Arquivo , clique em Sair. Como alternativa, na janela principal do Cliente de Teste do WCF, clique em Fechar. Essas duas ações desligam a Hospedagem Automática do Serviço WCF e interrompem o processo de depuração do Visual Studio se o Cliente de Teste do WCF for iniciado pelo Visual Studio.

  • Clique com o botão direito do mouse no ícone do Host do Serviço WCF na área de notificação e clique em Sair. Isso desliga o Host Automático do Serviço WCF e o Cliente de Teste do WCF e interrompe o processo de depuração do Visual Studio.

Consulte também