Проекты

WS/WCF Test Client Plugin

Основное окно

При разработке Web Service'ов мне приходилось писать UI обёртку для тестирования этих самых сервисов, когда очередной разработчик говорил что он "не работает". Т.е. разработчику кидался бинарник, содержащий в себе тестовый вызов этого самого сервиса.

Когда Я начал писать WCF сервисы, мне понравилась идея использования WCF Test Client, который идёт в комплекте с Visual Studio. Теперь не приходилось писать каждый раз тест или отвечать на вопрос, "а сервис Х сейчас работает"? И не удобно добавлять каждый раз ранее запрашиваемый сервис через пп. меню «Add...».

Помониторив работу WCF Test Client'а, Я решил поковырять его поглубже...

Первое, что Я до сих пор не могу понять, клиент создавал прокси сборку только для 32b процессора. Соответственно, сам клиент запускался через эмулятор на 64b процессора. И дело не в каком-то страшном коде, а просто в svcutil передавался ключ создания прокси сборки для 32b процессора и всё...

Второе, что меня не устраивало, что при добавлении сервиса каждый раз происходит создание прокси сборки, а при закрывании программы прокси-класс стирался. Теперь прокси удаляется только при удалении адреса из списка. Т.е. можно проверить старую сборку на совместимость с обновлённой версией сервиса.

Пользовательский интерфейс вызова метода я не менял и оставил всё как было в оригинале. Из-за этого, плагин требует дополнительную сборку, которая идёт в составе с VS (См. «Ограничения»). В дополнение добавлен функционал сохранения параметров последнего вызова каждого метода сервиса.

Из настроек ничего из оригинала не перенесено, но добавлена связка логин/пароль при использовании прокси-сервера для получения WSDL'я и вызова методов.

Настройки

  1. Auto save input values: False — Автоматически сохранять и загружать значения параметров вызываемых методов. Пока null значения не выводятся.
  2. Rewrite Configuration: True — Перезаписывать .config файл при обновлении сервиса
  3. Proxy User Name / Proxy Password — Логин и пароль от прокси (есть есть)
  4. Show SOAP WS Payload: False — Отобразить чистый SOAP ответ и запрос от сервиса в окне тестирования WS/WCF метода. Выделен отдельным свойством, т.к. клиент может подвиснуть при отображении SOAP.

Взаимодействие

Для открытия клиента, необходимо выбрать в меню пп. Tools→Network→WS/WCF Test Client Tools→Test→Network→Service Test Client.

В тулбаре доступна только одна кнопка — добавить сервис. При добавлении сервиса, создание прокси-сборки происходит единожды, при необходимости обновить прокси, необходимо в контекстном меню сборки выбрать элемент "Update".

Окно вызова WebService метода Окно вызова WebService метода с рекурсивным ответом

При двойном нажатии на метод WCF или WS сервиса, откроется окно для тестового вызова сервиса. Тут ничего нового нет и весь алгоритм работы аналогичен стандартому «WCF Test Client» приложению.

Ограничения

  1. Не перенесено редактирование .config файлов.
  2. Для работы клиенту необходима сборка Microsoft.VisualStudio.VirtualTreeGrid, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, которая идёт вместе с Visual Studio. (Зависимая сборка объедена в одну сборку с плагином)
  3. При запросе метода WebService'а не поддерживаются заголовки конверта (SOAP headers).
  4. Модуль зависит от процессов генерации WSDL: svcutil.exe, wsdl.exe, disco.exe и SvcConfigEditor.exe (Не выведен в пользовательский интерфейс)
Теги:

Скачать

  • 2 октября 2016 г.
  • 14 июля 2016 г.
    1. Удаление кода рекурсивно разворачивающий ответ от сервиса. Если ответ содержит узел ссылающийся на родителя (Node→Node→ParentNode), то код повисал в бесконечной рекурсии.
    2. Добавлена возможность автоматически загружать и сохранять значения параметров методов.
  • 4 июля 2016 г.
  • 8 июня 2016 г.
    1) Исправление при добавлении узла в нужную ветку дерева 2) Исправления в элементе управления поиска по узлам дерева (Ctrl+F)
  • 31 мая 2016 г.
    Доработки для SAL 1.2.8.0 Плагин переименован
  • 13 июля 2013 г.
  • 12 февраля 2013 г.

Ссылки

Родительские файлы