Arhn - архитектура программирования

Как подключиться к API Taleo Enterprise Edition в Visual Studio?

Я пытаюсь подключиться к Taleo API из своего решения в Visual Studio. Enterprise API (не путать с Taleo Business Edition API) — это веб-служба на основе SOAP с несколькими конечными точками WSDL.

Я могу успешно запросить API в SoapUI, однако мне не повезло при попытке добавить ссылку на службу в Visual Studio.

Вот что я пробовал:

  1. Добавлена ​​ссылка на WSDL (обратите внимание на появившиеся операции). Все идет нормально...

    введите здесь описание изображения

  2. Visual Studio успешно генерирует необходимые классы, однако методы, обведенные выше, отсутствуют. Я часами искал API и даже провел несколько поисков в Reflector... они действительно пропали без вести.

    введите здесь описание изображения

Несколько наблюдений:

  • Я вижу методы при просмотре необработанного WSDL XML в браузере (если вам нужен образец, я могу его опубликовать)
  • Я могу запросить три метода в SoapUI.
  • Насколько я понимаю, методы поддерживают только HTTP POST, поэтому, возможно, Visual Studio выполняет GET, а служба отклоняет его? (Я ПОВЕРНУЛ это, и все, что я вижу, это ответ 200)
  • Я за прокси-сервером (хотя я смог подключиться в SoapUI без необходимости настраивать прокси-сервер)

На данный момент я рассматриваю возможность написания собственного клиента SOAP для выполнения запросов с использованием HttpWebRequest, но я подумал, что попытаюсь выяснить, что не так, прежде чем углубляться в это.

Любая идея, что я делаю неправильно здесь?


Ответы:


1

У меня тоже были проблемы с API. Когда я попытался добавить ссылку на службу, как описано в OP, я получил ряд ошибок в списке ошибок, включая следующие:

Ошибка: член BusinessGoal.Items типа System.Object[] скрывает член базового класса BaseMultilingualEntity.Items типа multilingualStringField[]. Используйте XmlElementAttribute или XmlAttributeAttribute, чтобы указать новое имя.

Я смог использовать старый механизм Web Reference для создания прокси-классов. Вы можете найти это в разделе «Добавить ссылку на службу» → «Дополнительно» → «Добавить веб-ссылку». Это создаст файл Reference.cs, содержащий код прокси-класса для службы. Вам нужно будет выбрать Показать все файлы в Visual Studio, чтобы увидеть этот файл, спрятанный под сгенерированной веб-ссылкой. (Вы также можете использовать инструмент командной строки WSDL.exe, входящий в состав Visual Studio, для создания файла Reference.cs)

Используя этот подход, мой прокси-класс включал отсутствующие методы, но мне все еще нужно было вручную отредактировать файл Reference.cs, чтобы заменить все «[][]» на «[]», так как многие из сгенерированных типов были созданы ошибочно. зубчатые массивы.

28.08.2015
  • Я обнаружил, что вы можете добавить атрибут [XmlIgnore] к членам, которые вызывали это, и это устранило проблему. Хаки. И тогда вам все еще нужно заменить [][] на [], чтобы изменить зубчатые массивы на одномерные. Еще более хакерский. Фу. 04.07.2018

  • 2

    Мне не удалось добавить ссылку на Taleo API ни с помощью мастера «Добавить ссылку на службу», ни с помощью устаревшего метода «Веб-ссылки». В итоге я написал свой собственный клиент SOAP, используя HttpWebRequest для прямого получения и публикации XML.

    19.12.2012
  • Вы можете поделиться этим? Я с той же проблемой. В моем случае я не могу создать экземпляр объекта taleo.findSvc.FindService, упомянутого в Руководстве пользователя Taleo Enterprise Web Services docs.oracle.com/cd/E37454_01/TCWSFP12B_UG_ENus.pdf 19.12.2012
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..