В продолжение темы "Web-сервисы пример аэрофлот" #407069


#0 by kostik79
Тема находится тут: . Web-сервис аэрофлота откликается и удается получить данные... Хочу написать прогу на 8.1 для автоматизации игры на бирже ставок "BetFair". Есть Web-сервис Описание можно найти здесь: Код: СервисБФ = WSСсылки.BetFairGlobal.СоздатьWSПрокси ("http://www.betfair.com/publicapi/v3/BFGlobalService/", "BFGlobalService", "BFGlobalService");                     БФLoginReq - объект с типом входного параметра функции login БФLoginResp  объект с типом возвращаемого значения функции login При выполнении login(БФLoginReq) возникает такая ошибка: {Обработка.Обработка2.Форма.Форма}: Ошибка при вызове метода контекста (login): Ошибка вызова операции сервиса:  {    БФLoginResp = СервисБФ.login(БФLoginReq); по причине: Ошибка вызова операции сервиса:  { по причине: Неизвестная ошибка. Ошибка преобразования данных XDTO: Чтение объекта типа: { - [2,396] Проверка дополнительного свойства:    форма: Элемент    имя: header по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: { - [2,396] Проверка дополнительного свойства:    форма: Элемент    имя: header по причине: Ошибка преобразования данных XDTO: Чтение объекта типа: { - [2,434] Проверка дополнительного свойства:    форма: Элемент    имя: errorCode по причине: Ошибка проверки данных XDTO: Структура объекта не соответствует типу: { Ошибка та же, если не заполнять свойства объекта БФLoginReq Понимаю, что разбираться с этим не минутное дело, но мож кого заинтересует...
#1 by ТелепатБот
#2 by kostik79
ап
#3 by kot_bcc
Там регистрация нужна. Регистрироваться, чтобы подключиться к веб-сервису - слишком напрягает для "просто помочь":) Есть аккаунт готовый на "посмотреть"?
#4 by kot_bcc
+ А вообще очень похоже на отказ без возврата LoginResp.
#5 by kostik79
Я думаю, что дело не в регистрации т.к. если не заполнять свойства объекта БФLoginReq (username,password и т.д.) то происходит та же ошибка, а по идее должен вернуть "неудачу".
#6 by Asmody
намедни разбирались... не дружит 1Ска с ВС на java. что-то там с wsdl не так. не хочет она преобразовывать ответный xml под xdto. пока решения не нашел. если у кого есть доступ на партнерку, попробуйте задать этот вопрос там
#7 by kostik79
Спасибо за ответ. Теперь хоть знаю что это не мой косяк.
#8 by mini_root
Игрались в январе со связкой 8.1<->CXF(Java), имхо движок веб-сервисов для 8.1 на тот момент был не рабочий (это при том что они уже несколько лет подряд орут про веб-сервисы) и не готов к практическому применению: 1. Сделали на CXF сервис принимающий и возвращающий сложные типы данных, запустили, проверили wsdl, описание типов - все на месте. 2. Зарегили в 1с, все зашибись, сложные типы данных увидились! 3. Попытались вызвать метод, принимающий сложный тип в качестве аргумента - со стороны жабы вылетел NullPointerException. 4. Включил логи, написал свой обработчик для CXF, вывалил SOAP пакет на консоль, а там у элементов пустой неймспейс, и префиксы расставлены как попало, и хоть ты тресни. 5. Отписались в хотлайн. ИМХО, веб сервисы в восьмерки для галочки, и не более - аэрофлотовский пример работает (НА ПОЛУЧЕНИЕ!), а если хочешь что-то свое и более или менее серьезное - облом. Про всякие WS-* спецификации лучше уж вообще не заикаться. P.S. Серьезных движков для веб-сервисов оооочень немного (WCF, Metro, Axis/CXF/JRE'шный - если не нужны транзакции и пр. извращения) и одинэсовский к ним явно не относится. Так шо если хотите юзать действительно сложные сервисы из 1с - пишете свою COM компоненту на C#, а оттуда уже юзайте WCF.
#9 by kostik79
А хотлайн чёнить ответил?
#10 by mini_root
Пофиксили вроде, но мы не проверяли.
#11 by akostrov
Вот почитай, мой пост, никто не ответил у меня такая проблема возникла после смены платфомы
#12 by akostrov
#13 by lvi15
Я "присобачивал" к 1с ВнешнююКомпоненту на Net, и в обработке 1с писал:    ПриОткрытии Но через 1с-ку, конечно, было бы технологичнее. Не успел до конца разобраться как связывать XDTO c тем XML, который возвращает сервис - все время были какие-то ошибки, да и связываться надо было через SSL.
#14 by kostik79
11 Не, у меня без разницы, что на 8.1.11 что на 8.1.13 одинаково ругается.
#15 by mini_root
Пиши COM компоненту на C#, из нее юзай штатный WCF.
#16 by kostik79
Если б я знал C# то юзал бы ВС оттуда. Видимо придется подразобраться с С#
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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