2013-02-26 3 views
1

У меня есть оригинальный wsdl-файл от моего босса и попросил меня создать Dummy Web Service на его основе. А затем создайте клиента, чтобы проверить его, используя новый файл wsdl, который создается из Dummy Web Service, и он должен быть точно таким же, как исходный wsdl. К сожалению, я обнаружил, что новый wsdl, созданный Dummy Web Service, отличается от оригинального. Кто-нибудь может сказать мне, почему? Как получить тот же wsdl, что и исходный? Благодаря!WCF генерировать wsdl отличается от оригинала wsdl, который был предоставлен для создания службы WCF?

То, что я сделал для этой задачи:

  1. SvcUtil.exe /sc original.wsdl ->, чтобы получить класс C# службы и реализовать конкретный класс для него (фиктивный веб-службы)
  2. svcutil /t:metadata 'http://localhost/myservice/test.svc?singlewsdl' ->, чтобы получить новый WSDL из запущенного фиктивного веб-службы, но она будет отличаться от оригинального одного
  3. WSDLImp.exe создать класс прокси на Delphi клиента (тестовый клиент)
+0

Можете ли вы объяснить «разные»? В чем были отличия? – nvoigt

ответ

1

Это всегда так. Вы сравниваете два разных WSDL. Один из них - виртуальный WSDL, доступный вашим клиентам и используемый для создания службы с помощью SvcUtil. После развертывания веб-сервиса и просмотра WSDL, который он разделяет, теперь у вас есть бетонный WSDL.

Лучше всего испытать новую услугу, выполнив служебный вызов на основе виртуального WSDL, так как это WSDL, который вы, вероятно, будете предоставлять своим клиентам. SoaupUI способен генерировать и выполнять базу тестов на вашем виртуальном WSDL.

+0

Спасибо за ваш ответ. :-) Я могу использовать оригинальный wsdl для генерации клиента для проверки фиктивного веб-сервиса, и он успешный. Кроме того, я могу использовать новый созданный wsdl с помощью фиктивного веб-сервиса для проверки фиктивного веб-сервиса, и он тоже успешный. Единственное отличие состоит в том, что мне нужно изменить какой-то клиентский код, если я настраиваю эти два разных файла wsdl. Потому что они имеют разные типы прокси-класса при их создании. –

+0

Исправить. Чтобы не удваивать вашу рабочую нагрузку, беспокоитесь только о тестировании новой службы с помощью Virtual WSDL, так как это самый важный тест. – EtherDragon

+0

Справа. Спасибо друг! –

Смежные вопросы