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.

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