Я пытаюсь использовать svcutil для генерации клиентских контрактных файлов для моего клиента из файла WSDL, в котором есть только незначительные изменения (добавлены значения в перечисляемые значения) - я проверил с помощью нескольких инструментов DIFF.
Но сгенерированные классы контрактов отличаются - главное, чтобы у старых классов контрактов были Входные данные и Выходные данные задач для клиента, заключенные в «Запрос» и объекты "Response", тогда как теперь ввод и вывод "оставлены без изменений".
Пример старого сгенерированного кода:
///attributes left out for brevity, they are the same in both
public interface IServiceWS
{
///left out for brevity, same in both
Contracts.VyhledejVozidloIDResponse VyhledejVozidloID(Contracts.VyhledejVozidloIDRequest request);
Тогда как теперь сгенерированный код:
///attributes left out for brevity, they are the same in both
public interface IServiceWS
{
///left out for brevity, same in both
Contracts.VozidloStructure[] VyhledejVozidloID(Contracts.UzivatelInfoStructure UzivatelInfo, int[] VozidloID);
И код для генерации контракта:
@set SVCUTIL="%WindowsSDK_ExecutablePath_x64%\SvcUtil.exe"
@set SERVICE=http://localhost/ServiceWS/ServiceWS.wsdl
%SVCUTIL% /namespace:*,Contracts /out:Contracts.cs ^
%SERVICE%
Я почти уверен, что код для генерации старого контракта такой же, но старая версия была сгенерирована два года спустя go в более старой визуальной студии с более старыми. net framework.
Старый Contracts.VyhledejVozidloIDResponse
содержит Contracts.VozidloStructure[]
.
Contracts.VyhledejVozidloIDRequest
объектов-оболочек содержит распакованный материал Contracts.UzivatelInfoStructure UzivatelInfo
и int[] VozidloID
.
Что я должен изменить, чтобы генерировать его в старом стиле?