#Id/# Ссылка не разрешена

Я создал очень простой веб-сервис с использованием WCF/.NET Framework 4.0 (C#). Я сгенерировал файл WSDL с помощью утилиты svcutil.exe. Когда я импортирую файл WSDL с помощью Eclipse (Java EE), я получаю следующие ошибки:

XSD: ссылка на атрибут "http://schemas.microsoft.com/2003/10/Serialization/#Id" не разрешена XSD: ссылка на атрибут "http://schemas.microsoft.com/2003/10/Serialization/#Ref" неразрешен

Я использую DataContractSerializer с включенным сохранением ссылок, используя:

[DataContract (IsReference = true)]

Когда я отключаю эту опцию, ошибка выше исчезает. Я также сплющил свой WSDL-файл, как это было предложено в другом потоке на SO.

1 ответ

Если вам не нужно сохранять ссылки в Java, отключите IsReference и вместо этого включите "preserveObjectReferences". Вы можете сделать это через перегрузку конструктора DataContractSerializer, через атрибут DataContractSerializerOperationBehavior или через файл конфигурации.

Другие вопросы по тегам