Как избежать столкновений имен в xsds между сообщениями BizTalk и контрактами с данными службы WCF - PullRequest
1 голос
/ 09 сентября 2011

Рассмотрим следующее: у меня есть проект BizTalk, и внутри него я разместил схемы xsd для сообщений. Эти схемы находятся в пространстве имен «А». У меня есть другой веб-сервис, он также использует datacontract с пространствами имен «A». Поэтому, когда я добавляю ссылку на сервис к первому проекту, который называется Biztalk, VS генерирует схемы для контрактов данных, которые находятся во втором проекте. Таким образом, у меня есть 2 схемы с тем же пространством имен и корневым элементом.

1 Ответ

1 голос
/ 09 сентября 2011

ОК, я думаю, я вижу вашу проблему сейчас.Тогда у меня возникнет вопрос: почему у вас есть имя-конфликт?Если сгенерированные схемы генерируются из запущенного экземпляра вашей службы, вам не нужно кодировать свои собственные схемы, вы можете просто использовать сгенерированные.

Или, я могу понять это по-другому: разработанные вами схемы предназначены для другой цели, но они просто имеют то же имя корневого узла и пространство имен, что и сгенерированные схемы.В этом случае вам следует провести рефакторинг ваших несгенерированных схем, изменив целевое пространство имен и / или имя корневого узла.

Рекомендуется никогда не использовать целевые пространства имен в сообщениях на сервере BizTalk.Фактически, когда вы строите свое решение, компилятор выдает предупреждение, когда вы делаете это.

Возможно ли вам это сделать?

...