Compartilhar via


Cliente de Teste do WCF (WcfTestClient.exe)

O Cliente de Teste (WcfTestClient.exe) do Windows Communication Foundation (WCF) é uma ferramenta da GUI que permite que os usuários digitem parâmetros de teste, enviem essa entrada ao serviço e exibam a resposta retornada pelo serviço. Ele fornece uma experiência de teste de serviço perfeita quando combinado com o host de serviço 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 de "Enterprise", "Professional" ou "Community", dependendo do nível do Visual Studio instalado.

Cenários para uso do Cliente de Teste

As seções a seguir abordam os cenários mais comuns onde você pode usar o Cliente de Teste do WCF para simplificar seu processo de desenvolvimento.

No Visual Studio

O Host de Serviço WCF começa o Cliente de Teste do WCF com o um único serviço

Depois de criar um novo projeto de serviço WCF e pressionar F5 para iniciar o depurador, o Host de Serviço do WCF começa 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 chamar o serviço, e repetir esse processo para testar e validar continuamente o serviço.

O Host de Serviço WCF começa 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 contenha vários serviços. Quando o Cliente de Teste do WCF é aberto, ele itera automaticamente a lista de serviços em seu projeto e abre-os para teste.

Fora do Visual Studio

Você também pode chamar o Cliente de Teste do WCF (WcfTestClient.exe) fora do Visual Studio para testar um serviço qualquer 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 de "Enterprise", "Professional" ou "Community", dependendo do nível do Visual Studio instalado no computador)

Para usar a ferramenta, clique duas vezes no nome do arquivo para abri-lo neste local ou inicie-a em 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 …

Após a abertura da janela Cliente de Teste do WCF, clique em Arquivo->Adicionar Serviço e digite o endereço do ponto de extremidade do serviço que deseja abrir.

Interface do usuário do Cliente de Teste do WCF

Você pode usar o Cliente de Teste do WCF com um serviço simples ou com 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, juntamente com seus respectivos pontos de extremidade e operações.

Clicando duas vezes em uma operação, você pode exibir seu conteúdo no painel direito em um nova guia com o nome da operação.

O painel esquerdo também lista arquivos de configuração de cliente. Clique duas vezes em alguns 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. Por padrão, os parâmetros são mostrados no modo de exibição Formatado 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 de conjunto de dados, clique no botão ao lado de Editar… para editá-lo em uma nova janela que mostra 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 colar.) Também é possível 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 de retorno esperado for uma cadeia de caracteres, o resultado será exibido como uma cadeia de caracteres entre aspas, mesmo que a entrada não tenha sido fornecida entre aspas.

Se você tiver definido uma operação específica como unidirecional quando criou o contrato do serviço, nenhuma resposta do serviço será exibida. Assim que a mensagem for enfileirada para entrega, uma caixa de diálogo pop-up será exibida notificando 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 alternar o suporte de 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 limpa, essas operações compartilham um proxy e o status do serviço é persistido em várias operações.

Se a caixa de seleção Iniciar um novo proxy estiver marcada, um novo proxy será iniciado para cada Invocar, o cenário da 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 de cliente. Clique duas vezes em alguns dos itens para exibir o conteúdo do arquivo no painel direito.

Editar com o Service Configuration Editor

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 Service Configuration Editor é 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 Service Configuration Editor, o Cliente de Teste do WCF exibe uma mensagem de aviso para informá-lo que o arquivo foi modificado externamente e pergunta se você deseja recarregá-lo.

Se você selecionar Sim, o conteúdo da configuração na guia “Client.dll.config” refletirá as alterações que você fez no editor.

Se você selecionar Não, o conteúdo da configuração na guia de “Client.dll.config” permanecerá inalterado e o conteúdo modificado será salvo no arquivo de origem.

Restaurar para a configuração padrão

Se quiser cancelar todas as alterações e restaurar a configuração de cliente padrão, 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 alterações salvas estiverem sendo carregadas no Cliente de Teste do WCF, a validade da configuração será verificada em relação ao esquema do WCF. Se forem encontrados erros, uma caixa de diálogo será exibida para mostrar os detalhes do erro.

Durante a geração do proxy, da compilação binária ou do serviço que fez a invocação, os itens de menu que dão suporte à edição (isto é, “Editar…”, “Restaurar…”, e assim por diante) ficam desabilitados. A chamada do serviço também é desabilitada ao carregar a configuração atualizada no Cliente de Teste do WCF.

Persistir 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 é habilitada por padrão. Esta opção especifica que, cada vez que o Cliente de Teste do WCF carrega um serviço, ele gera um arquivo de configuração novamente com base no contrato de serviço e nos arquivos App.config mais recentes de serviço.

Se você editou a configuração do cliente para o serviço e desejar sempre usar esse arquivo atualizado para depurar seu serviço, poderá desmarca a opção Regenerar. Ao fazer isso, mesmo quando você atualizar o serviço e reabrir o Cliente de Teste do WCF, o arquivo Client.dll.config será o que você atualizou anteriormente em vez de um arquivo regenerado com base no serviço atualizado.

No entanto, talvez você precise editar o arquivo de configuração para torná-lo consistente com o proxy regenerado. Se o proxy e o arquivo de configuração regenerados forem incompatíveis devido a um serviço atualizado, ocorrerão erros quando o serviço for chamado.

Cuidado

Se você tiver modificado o arquivo de configuração do cliente e o selecionar para reutilização no futuro, poderá localizar o arquivo no seguinte local:

\Documents and Settings\[Conta de Usuário]\Meus Documentos\Test Client Projects.

Todas as informações de credenciais 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.

Também é possível encontrar uma lista dos 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 do proxy, da compilação binária ou da chamada do serviço, os itens de menu que dão suporte à edição de um serviço estão desabilitados. A chamada de serviço também está desabilitada.

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 Cliente de Teste do WCF.

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

Atualizar serviço

Se uma alteração tiver sido feita no serviço enquanto o Cliente de Teste do WCF estiver em execução, e você desejar 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 depois da atualização, o status do serviço é redefinido.

Durante a geração do proxy, da compilação binária ou da chamada do serviço, os itens de menu que dão suporte à atualização de um serviço estã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 o código do cliente e os arquivos de configuração gerados na pasta "%appdata%\Local\temp\Test Client Projects". Essa pasta é excluída depois que o Cliente de Teste do WCF é fechado. Se um arquivo de configuração for modificado no Cliente de Teste do WCF, e a opção Sempre Regenerar Configuração ao Iniciar Serviços estiver desabilitada, o arquivo modificado será copiado para a pasta “Cached Config” em “Meus Documentos\Test Client Projects Documents” com um arquivo XML de mapeamento (endereço dos metadados para nome do arquivo) como um índice.

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

wcfTestClient.exe /ProjectPath [desired location]

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

Recursos suportados pelo Cliente de Teste do WCF

A lista a seguir relaciona os recursos com suporte pelo Cliente de Teste do WCF:

  • Chamada 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.

A lista a seguir relaciona os recursos que não são têm suporte pelo 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 encerra 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.

Confira também