Cliente de prueba de WCF (WcfTestClient.exe)

El cliente de prueba de Windows Communication Foundation (WCF) (WcfTestClient.exe) es una herramienta de interfaz gráfica de usuario que permite a los usuarios especificar parámetros de prueba, enviar esa entrada al servicio y ver la respuesta que este devuelve. Proporciona una experiencia de prueba de servicio sin problemas cuando se combina con el host de servicios de WCF.

Por lo general, puede encontrar el cliente de prueba de WCF (WcfTestClient.exe) en esta ubicación: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE. Community puede ser "Enterprise", "Professional" o "Community" en función del nivel de Visual Studio instalado.

Escenarios para utilizar el cliente de prueba

En las secciones siguientes se analizan los escenarios más comunes en los que puede usar el cliente de prueba de WCF para optimizar el proceso de desarrollo.

Descripción general de Visual Studio

El host de servicio de WCF inicia el cliente de prueba de WCF con un servicio único

Después de crear un proyecto de servicio WCF y presionar F5 para iniciar el depurador, el host de servicios de WCF empieza a hospedar el servicio en el proyecto. Entonces, el cliente de prueba de WCF se abre automáticamente y muestra una lista de puntos de conexión de servicio definidos en el archivo de configuración. Puede probar los parámetros e invocar el servicio y repetir este proceso para probar y validar su servicio de forma continuada.

El host de servicio de WCF inicia el cliente de prueba de WCF con varios servicios

También puede usar el cliente de prueba de WCF como ayuda para depurar un proyecto de servicio que contiene varios servicios. Cuando el cliente de prueba de WCF se abre, recorre automáticamente en iteración la lista de servicios de su proyecto y los abre para probarlos.

Fuera de Visual Studio

También puede invocar el cliente de prueba de WCF (WcfTestClient.exe) fuera de Visual Studio para probar un servicio arbitrario en Internet. Para encontrar la herramienta, vaya a la ubicación siguiente:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (donde Community puede ser "Enterprise", "Professional" o "Community" en función del nivel de Visual Studio instalado en la máquina).

Para usar la herramienta, haga doble clic en el nombre de archivo para abrirlo desde esta ubicación o iníciela desde una línea de comandos.

El cliente de prueba de WCF toma un número arbitrario de URI como argumentos de la línea de comandos. Se trata de los URI de los servicios que se pueden probar.

wcfTestClient.exe URI1 URI2 …

Una vez abierta la ventana del cliente de prueba de WCF, haga clic en Archivo->Agregar servicio y escriba la dirección del punto de conexión del servicio que quiere abrir.

Interfaz de usuario del cliente de prueba de WCF

Puede utilizar el cliente de prueba de WCF con un servicio único o con varios servicios.

Operaciones del servicio

El panel izquierdo de la ventana principal del cliente de prueba de WCF muestra todos los servicios disponibles, junto con sus puntos de conexión y operaciones correspondientes.

Al hacer doble clic en una operación, puede ver su contenido en el panel derecho dentro de una nueva pestaña con el nombre de la operación.

El panel izquierdo también hace una lista de los archivos de configuración del cliente. Haga doble clic en cualquiera de los elementos para mostrar el contenido del archivo en una nueva ventana con pestañas en el panel derecho.

Introducir parámetros de prueba

Para ver los parámetros de prueba, haga doble clic en una operación para abrirla en el panel derecho. De manera predeterminada, los parámetros se muestran en la vista Con formato, y puede escribir valores arbitrarios para esos parámetros a fin de probar el servicio.

Para ver el XML del mensaje, haga clic en XML. Para enviarlos al servicio, haga clic en Invocar.

Para un parámetro DataSet, haga clic en el botón que se encuentra junto a Editar… para editarlo en una ventana nueva que muestra el DataGrid. Observe que aparecen los botones Copiar DataSet y Pegar DataSet. Si el esquema del objeto DataSet no se conoce al editarlo por primera vez, el DataGrid está vacío. Debe pegar un objeto DataSet con el mismo esquema en el objeto actual del DataGrid. (Tenga en cuenta que debe copiar el esquema desde otro lugar antes de la operación de pegado). También puede copiar un objeto Dataset para su uso futuro haciendo clic en el botón Copiar DataSet.

La respuesta del servicio aparece debajo de los parámetros de pruebas.

Nota

Si el valor de devolución esperado es una cadena, el resultado se mostrará como cadena entrecomillada aunque la entrada proporcionada no estuviera entre comillas.

Si especificó una operación determinada como unidireccional cuando creó el contrato para el servicio, no se mostrará ninguna respuesta del servicio. En cuanto el mensaje se ponga en la cola para la entrega, se abrirá un cuadro de diálogo para notificarle que el mensaje se envió correctamente.

Compatibilidad de sesión

La casilla Iniciar nuevo proxy de la pestaña de una operación de servicio permite alternar la compatibilidad de la sesión. Este cuadro está desactivado de forma predeterminada.

Si escribe los parámetros de prueba de una operación concreta (u otra operación en el mismo punto de conexión de servicio) y hace clic varias veces en Invocar con la casilla desactivada, estas operaciones comparten un proxy y el estado del servicio se conserva entre varias operaciones.

Si se activa la casilla Iniciar nuevo proxy, se inicia un proxy nuevo con cada invocación, el escenario de la sesión anterior finaliza y se restablece el estado del servicio.

Edición de la configuración del cliente

El panel izquierdo de la ventana principal del cliente de prueba de WCF muestra los archivos de configuración del cliente. Haga doble clic en cualquiera de los elementos para mostrar el contenido del archivo en el panel derecho.

Edición con el Editor de configuración de servicios

Haga clic con el botón derecho en Archivo de configuración en el panel de la izquierda y seleccione Editar con SvcConfigEditor en el menú contextual. El Editor de configuración de servicios se inicia con el contenido de la configuración del cliente. Puede editar la configuración y guardarla dentro de la herramienta.

Después de guardar el archivo en el Editor de configuración de servicios, el cliente de prueba de WCF muestra un mensaje de advertencia para informarle de que el archivo se modificó fuera y pregunta si desea recargarlo.

Si selecciona , el contenido de configuración de la pestaña "Client.dll.config" refleja los cambios que realizó en el editor.

Si selecciona No, el contenido de configuración de la pestaña "Client.dll.config" se mantiene sin modificar y el contenido modificado se guarda automáticamente en el archivo de código fuente.

Restauración de la configuración predeterminada

Si quiere cancelar todos los cambios y restaurar la configuración predeterminada del cliente, haga clic con el botón derecho en Archivo de configuración en el panel de la izquierda y seleccione Restablecer configuración predeterminada del menú contextual. Se carga el valor de la configuración predeterminada y se restaura el contenido en la pestaña "Client.dll.config".

Validación de los cambios

Cuando se cargan los cambios guardados en el cliente de prueba de WCF, se comprueba la validez de la configuración respecto del esquema de WCF. Si se detectan errores, aparece un cuadro de diálogo con los detalles del error.

Durante la generación de servidores proxy, la compilación de binarios o la invocación de servicios, los elementos de menú que permiten la edición (es decir, "Editar", "Restaurar", etc.) están deshabilitados. La invocación de servicios está también deshabilitada al cargar la configuración actualizada en el cliente de prueba de WCF.

Conservación de la configuración del cliente

La pestaña Herramientas->Opciones->Configuración del cliente contiene una opción Volver a generar siempre la configuración cuando se inicien servicios, que está habilitada de manera predeterminada. Esta opción especifica que cada vez que el cliente de prueba de WCF carga un servicio, vuelve a generar un archivo de configuración basado en el último contrato de servicio y en los archivos App.config del servicio.

Si ha editado la configuración del cliente para el servicio de WCF y desea usar siempre este archivo actualizado para depurar el servicio, puede desactivar la opción Volver a generar. Al hacerlo, incluso al actualizar el servicio y volver a abrir el cliente de prueba de WCF, el archivo Client.dll.config es el que actualizó previamente en lugar de uno regenerado a partir del servicio actualizado.

Sin embargo, es posible que necesite modificar el archivo de configuración para que sea coherente con el proxy regenerado. Si el proxy regenerado y el archivo de configuración no coinciden porque se ha actualizado un servicio, se producirán errores cuando se invoque el servicio.

Precaución

Si modificó el archivo de configuración del cliente y seleccionó su reutilización en el futuro, puede encontrar el archivo en la ubicación siguiente:

\Documents and Settings\[cuenta de usuario]\Mis documentos\Test Client Projects.

La Lista de control de acceso (ACL) de esta carpeta protege cualquier información de credenciales actualizada almacenada en el archivo de configuración del cliente.

Adición, eliminación y actualización de servicios

Add Service (Agregar servicio)

Haga clic en Archivo->Agregar servicio para agregar un servicio al cliente de prueba de WCF. Después, debe escribir el URI (dirección del extremo) del servicio que se va a agregar. La dirección del servicio puede ser una dirección mex o WSDL.

Además, puede encontrar una lista con los 10 últimos puntos de conexión de servicio agregados en el submenú Servicios recientes. Si selecciona uno de ellos, el servicio especificado se agregará al cliente de prueba de WCF.

Para lograr el mismo resultado, también puede hacer clic con el botón derecho en la raíz del árbol de servicios Mis proyectos de servicios y seleccionar Agregar servicio.

Durante la generación de proxies, la compilación de binarios o la invocación de servicios, los elementos de menú que permiten agregar un servicio están deshabilitados. La invocación de servicios también está deshabilitada.

Eliminación de servicios

Haga clic con el botón derecho en la raíz del servicio que desea quitar y seleccione Quitar servicio para quitar un servicio del cliente de prueba de WCF.

Durante la generación de proxies, la compilación de binarios o la invocación de servicios, los elementos de menú que permiten quitar un servicio están deshabilitados. La invocación de servicios también está deshabilitada.

Actualización de servicios

Si se realiza un cambio en el servicio mientras se ejecuta el cliente de prueba de WCF y desea asegurarse de que la implementación del cliente de prueba de WCF para ese servicio está actualizada, haga clic con el botón derecho en la raíz del servicio y seleccione Actualizar servicio. Observe que, después de actualizar, se restablece el estado del servicio.

Durante la generación de proxies, la compilación de binarios o la invocación de servicios, los elementos de menú que permiten actualizar un servicio están deshabilitados. La invocación de servicios también está deshabilitada.

Ubicación de los archivos generados por el cliente de prueba

De manera predeterminada, el cliente de prueba de WCF almacena el código de cliente generado y los archivos de configuración en la carpeta "%appdata%\Local\temp\Test Client Projects". Esta carpeta se elimina después de cerrar el cliente de prueba de WCF. Si se modifica un archivo de configuración en el cliente de prueba de WCF y la opción Volver a generar siempre la configuración cuando se inicien servicios está deshabilitada, el archivo modificado se copia en la carpeta "CachedConfig" de "Mis documentos\Test Client Projects Documents\Test Client Projects" con un archivo XML de asignación (dirección de metadatos a nombre de archivo) a modo de índice.

También puede iniciar el cliente de prueba de WCF en una línea de comandos, usar el modificador /ProjectPath para especificar la ruta de acceso nueva en la que desea almacenar los archivos generados o usar el modificador /RestoreProjectPath para restaurar la ubicación predeterminada. La sintaxis es la siguiente:

wcfTestClient.exe /ProjectPath [desired location]

Al ejecutar este comando, no se abre el cliente de prueba de WCF. Sólo cambia la ubicación de la carpeta. Puede ejecutar este comando tanto si el cliente de prueba de WCF está en ejecución o no. La ubicación nueva se aplica cuando se reinicia el cliente de prueba de WCF. La información sobre la ubicación se puede guardar en el Registro o en el archivo WcfTestClient.exe.option de la carpeta "%appdata%\Local\temp\Test Client Projects".

Características admitidas por WCF Test Client

En la lista siguiente, se muestran las características admitidas por el cliente de prueba de WCF:

  • Invocación de servicio: solicitud/respuesta y mensaje unidireccional.

  • Enlaces: todos los enlaces admitidos por Svcutil.exe.

  • Control de sesión.

  • Contrato de mensaje.

  • Serialización XML.

En la lista siguiente, se muestran las características no admitidas por el cliente de prueba de WCF:

Cerrar el cliente de prueba de WCF

El cliente de prueba de WCF se puede cerrar de las maneras siguientes:

  • En el menú Archivo , haga clic en Salir. De manera alternativa, en la ventana principal del cliente de prueba de WCF, haga clic en Cerrar. Estas dos acciones también cierran el host de autoservicio de WCF y detienen el proceso de depuración de Visual Studio si Visual Studio inició el cliente de prueba de WCF.

  • Haga clic con el botón derecho en el icono Host de servicios de WCF en el área de notificación y, luego, haga clic en Salir. De este modo, se cierra el host de autoservicio de WCF y el cliente de prueba de WCF y se detiene el proceso de depuración de Visual Studio.

Consulte también