У меня проблема, аналогичная этой question. У меня есть несколько веб-сервисов, которые я потребляю с WCF, которые все используют типы. Сами службы написаны на Java, и у меня нет доступа к ним. Общие типы имеют те же подписи, но svcutil.exe
дает эту ошибку при запуске:Идентичные типы в отдельных веб-сервисах
Error: There was a validation error on a schema generated during export:
Source:
Line: 8 Column: 3
Validation Error: The complexType 'http://MyServer.MyService:CommonType' has already been declared.
С CommonType
с той же сигнатурой в обоих веб-сервисов потребляются. Вот как я звоню svcutil
:
svcutil.exe /o:GeneratedServices.cs /n:*,MyNamespace.Generated http://MyServer.MyService1?WSDL http://MyServer.MyService2?WSDL
Я знаю, что wsdl.exe
имеет /mergeTypes
флаг, который работает для этих услуг, но есть некоторые варианты на svcutil.exe
, что я бы очень хотел использовать. У меня есть кто-то, кто показывает, что это возможно для меня, однако бэкэнд также использовал .NET и WCF, и я не увенчался успехом, с которым я пользуюсь.
Хотя это правда, это не всегда хорошая идея. Для * расширения * кода (методы добавления и т. Д.) Вы должны использовать неполный класс. Если вы измените код, у вас нет хорошего маршрута для обновления сервиса (если это требование), и вы рискуете его разбить (довольно легко сделать). –
Да, конечно. Частичные классы делают это легко. – Cheeso
Просто увидел этот прыжок (изменить) - я не думаю, что он заслуживает нисходящего; закрепится через несколько часов, когда я получу несколько голосов! (или когда я встаю ...) [исправлено] –