Несколько Java-сервисов ссылаются на одни и те же контракты данных. Клиент WCF генерирует дубликаты контрактов данных для контрактов с общими данными - PullRequest
1 голос
/ 26 февраля 2012

Клиент WCF генерирует дубликаты контрактов данных в другом пространстве имен для контрактов с общими данными, используемых в нескольких сервисах Java.

Пример: 2 Служба Java, использующая shared.xsd, для этой схемы определены около 1000 сложных и простых типов.
1.Служба бронирования использует две схемы
a.Booking.xsd
b.shared.xsd

2.Служба продажи билетов использует две схемы
a.Ticketing.xsd
b.shared.xsd

Когда я добавляю ссылку на службу в Visual Studio для обеих служб, контракты данных, определенные в Shared.xsd, создаются в предоставленных пространствах имен.

Так, например, класс Person определяется дважды, один в пространстве имен Foo.BookingService и аналогично в пространстве имен Foo.TicketingService.

Есть ли способ, я могу указать параметр команды или через Visual Studio, что он должен повторно использоватьДанные Shared.xsd сжимаются и не должны восстанавливаться.

1 Ответ

0 голосов
/ 27 февраля 2012

Попробуйте использовать svcutil.exe для генерации типов данных .NET, которые соответствуют формату сериализатора XML. например,

svcutil.exe / target: code / dataContractOnly / serializer: XmlSerializer / importXmlTypes [путь к файлу xsd]

...