Программирование на WSDL без доступа к актуальному веб-сервису - PullRequest
9 голосов
/ 18 сентября 2009

Я собираюсь использовать C # для чтения данных с нескольких веб-сервисов. Я делал это много раз раньше, но в те времена у меня был прямой доступ к веб-сервисам с моей машины для разработки.

В этом проекте мне только что отправили файл .wsdl и пару файлов .xsd для веб-службы, которые они имеют в своей локальной интрасети.

Я видел, что могу использовать «Добавить веб-ссылку» и указать прямо на файл .wsdl, чтобы создать класс C #.

Но как я могу это проверить? Я хотел бы вернуть некоторые фиктивные данные, которые я могу визуализировать во время разработки. Любые советы для этой ситуации?

Ответы [ 5 ]

16 голосов
/ 18 сентября 2009

Mock Webservice

Из вышеупомянутого источника файл .cs можно создать, открыв командную строку Visual Studio и выполнив что-то вроде следующего:

wsdl / language: CS /namespace:Your.Namespace.Here / out: каталог \ в \ сохранить \ в \ / протокол: SOAP / serverinterface наконец-ваш-WSDL-файл-here.wsdl

2 голосов
/ 18 сентября 2009

Вы также можете попробовать интерфейс SOAP для легкого макетирования сервиса. (Бесплатный инструмент для тестирования веб-сервисов)

Проверка:

http://www.soapui.org/gettingstarted/mocking.html

1 голос
/ 19 сентября 2009

Инструмент svcutil.exe в комплекте с Windows SDK (находится по адресу C: \ Program Files \ Microsoft SDK \ Windows \ v6.0 \ Bin) - хороший инструмент командной строки, который генерирует клиентские прокси WCF , Я обнаружил, что это хороший способ допросить WSDL. Он создаст интерфейс для службы, а затем прокси-класс, который реализует этот интерфейс. Затем вы можете макетировать что-то еще, что реализует этот интерфейс для облегчения тестирования.

0 голосов
/ 14 апреля 2010

Вы также можете попробовать продукт типа "Скрипач" (http://www.fiddler2.com)

Позволяет захватывать пакеты HTTP (или HTTPS) и отправлять поддельный файл автоматического ответа обратно, как если бы сервер отправил ответ. Я использую его для своего проекта, и он творит чудеса, когда тестовый сервер отключается (что часто происходит). Я беру старый ответный пакет, сохраняю его в виде текстового файла, затем отправляю обратно, и приложение, которое я создаю, не подозревает, что оно не пришло с реального хоста.

0 голосов
/ 18 сентября 2009

Легко создать свой собственный заглушку на стороне сервера. Если вы хотите сделать это с WCF, тогда иди сюда . Затем вы можете добавить базовую логику, чтобы ваш клиент работал.

Вы также можете использовать устаревшие функциональные возможности веб-службы с помощью опции инструмента WSDL / Server , хотя я рекомендую использовать WCF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...