#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 или через файл конфигурации.