Интеграция 1С 8.3 и MS Project #738944


#0 by denis_jj
Здравствуйте, коллеги. Столкнулись с такой проблемой. Интегрируем 1С 8.3 (8.3.5.1383) и Microsoft Project 2013. Используем для этого WEB-сервисы Project PSI. На стороне 1С подключаемся к сервису Project и считываем список проектов. В момент чтения Ответ = Прокси.ReadProjectList(Парам); платформа выдает ошибку: {Форма.Форма.Форма}: Ошибка при вызове метода контекста (ReadProjectList)                 Ответ = Прокси.ReadProjectList(Парам); по причине: Ошибка вызова операции сервиса:  { по причине: Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,613] Проверка дополнительного свойства:                 форма: Элемент                 имя: { по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: { - [1,613] Проверка дополнительного свойства:                 форма: Элемент                 имя: { по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: { по причине: Несоответствие типов XDTO: Тип '{' не соответствует типу '{' Тип свойства не соответствует типу значения Для моделирования конфигурации нужно создать пустую базу, создать в ней обработку с приведенным ниже кодом. Кто сталкивался с подобной ситуацией? Подскажите как обойти.
#1 by Господин ПЖ
1с "не унесла" какой-то тип
#2 by denis_jj
Мы перехватили данные обмена между 1С и сервером Project. В них нигде нет ссылки на тип  '{' на который ссылается платформа. Сервис, разработанный на C# работает с этим (и другими) методами нормально. Считаем, что это баг платформы 1С.
#3 by DmitrO
так платформа вам говорит что вы суете ей anyType, а она ожидает topLevelElement в передаваемых данных может и не быть нигде имени типа (topLevelElement).
#4 by rsv
Можа по старинке  через DOM ?
#5 by DmitrO
а так? ТипПараметр = Прокси.ФабрикаXDTO.Тип(";, "ReadProjectList");
#6 by denis_jj
Пробовали. То же самое. Пробовали и WS ссылку в конфигурацию вносить, ничего не получается.
#7 by timurhv
Это кривой веб-сервис со стороны MS Project - проходили при интеграции с Java - программистами
#8 by DmitrO
по документации (или по схеме) какого типа должен быть параметр у метода ReadProjectList
#9 by DmitrO
?
#10 by denis_jj
Нет там параметра, пустой он. в C# этот метод без параметра.
#11 by timurhv
Ставьте wireshark, отлавливайте что возвращает веб-сервис, смотрите что в xml не так.
#12 by denis_jj
Можно более точные данные? Готовы привлечь Microsoft к решению проблемы. На C# всё работает нормально, багов нет.
#13 by DmitrO
а без параметра вызывать?
#14 by denis_jj
отловили ответ. XML визуально нормальный. Содержит описание схемы и полученные данные. В C# читает корректно.
#15 by denis_jj
без параметра выдает ошибку. Параметр должен быть, только он сам пустой.
#16 by Bloood
SOAP UI вам в помощь. На крайний случай сохраняйте wsdl описание на компьютере и правьте ее под 1С. С any type 1с работает.
#17 by timurhv
Уверены, что параметр верный? Попробуйте так:
#18 by denis_jj
С параметром уверен. Пробовали другие методы, например ReadProject. Для него аналогичным способом создавали параметр. В этом методе если передать пустой УИД проекта, то платформа возвращает результат, но только пустой. А как только передаем УИД существующего проекта и ответ из проджекта идет не пустой - возникает ошибка.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С