Taleo Find Service - ссылка на веб-сервис в визуальной студии создает двумерные массивы
Я добавил ссылку на веб-сервис в Visual Studio в Taleo Find Service в соответствии с инструкциями Taleo Enterprise - Taleo Web Services - Руководство пользователя
Но VS.NET создает двумерные массивы для некоторых объектов неправильно. Например:
private AddressBookHistory[][] addressBookHistoryField;
Кроме того, сгенерированный класс Requisition имеет свойство ContestNumber, которое неправильно создается как массив:
[System.Xml.Serialization.XmlElementAttribute("ContestNumber")]
public string[] ContestNumber {
get {
return this.contestNumberField;
}
set {
this.contestNumberField = value;
}
}
Подобная проблема обсуждалась онлайн здесь:
Веб-сервис.NET не может создать временный класс
Невозможно создать временный класс (результат = 1). Ошибка CS0030: не удается преобразовать тип "Тип []" в "Тип"?
https://support.microsoft.com/en-us/kb/2486643
Я заменил [][] на [] и смог вызвать службу поиска. TaleoFindService.Entities pagedResults = findService.findPartialEntities(mappingVersion, sqxmlquery, attrs);
Но теперь свойство pagedResults.Entity имеет значение null. Однако другие свойства, такие как entityCount и pageCount, заполнены правильно.
0 ответов
Я думаю, что проблема заключается в том, что WSDL создал классы на основе одного пространства имен, но в Руководстве вам предлагается использовать строку версии сопоставления, которая является другим пространством имен, и поэтому возвращаемый XML не соответствует wsdl.
Изменение версии отображения, которую я передал http://www.taleo.com/ws/tee800/2009/01
разобрал для меня. Посмотрите, какое пространство имен ожидает класс, и используйте Postman или что-то подобное, чтобы узнать, какое пространство имен возвращается. Удачи всем, кто найдет этот пост.
Мое самое большое предложение - не покупать Oracle.