Мой клиент указал файл WSDL в качестве контракта для веб-службы, которую я должен реализовать.(Это действительно должен быть тот файл WSDL, поскольку он уже был сообщен другим партнерам и т. Д., И они также будут реализовывать свои собственные веб-службы и клиенты на основе этого WSDL. Это файл WSDL размером 63 КБ.)
С помощью wsdl.exe я создал прокси-классы для серверной части.Так что я мог бы реализовать веб-сервис.НО: если вы используете wsdl.exe для создания прокси-классов на стороне клиента на основе исходного файла WSDL, это приводит к тому, что клиентское приложение не может обмениваться данными с веб-службой!
INSTEAD: byдобавив «? wsdl» к URL-адресу веб-службы, я получаю другой файл WSDL.При использовании этого второго файла WSDL для создания прокси-классов на стороне клиента это приводит к тому, что клиентские приложения могут отлично взаимодействовать с веб-службой.Странно, что второй файл WSDL имеет размер 288 КБ вместо 63 КБ исходного файла WSDL.
Так что это должно означать, что WSDL не является циклическим… (файл WSDL -> wsdl.exe)создание прокси-классов на стороне сервера -> веб-служба -> добавление «? wsdl» к URL-адресу веб-службы -> приводит к созданию другого файла WSDL в качестве исходного (и, что еще хуже, они не совместимы).)
Можеткто-нибудь объяснит это?(Для моего проекта это важно, потому что другие стороны будут использовать оригинальный файл WSDL, и поэтому они не смогут общаться с моим веб-сервисом…)
Я проводил тесты с C #, а такжес CLI.Это воспроизводимо.Я использую IIS 7.5 и .NET Framework 3.5.