8.х Взаимодействие с внешним Web-сервисом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем smaximaa, 19 янв 2016.

  1. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
  2. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Я ему обработку скидывал, и у него такая же проблема)
  3. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.023
    Симпатии:
    51
    Баллы:
    54
    1.Ошибка работы с Интернет: Failure when receiving data from the peer
    2.Ошибка вызова операции сервиса:по причине: Ошибка SOAP сервера:
    Это же разные ошибки? Или я путаю..
  4. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
  5. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    попробую по другому сделать, через создание COMОбъекта
  6. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    И опять ошибка, теперь уже при вызове конструктора Новый COMОбъект -Nailbiting-
    Код:
    MSXML = Новый COMОбъект("MSXML2.XMLHTTP.4.0");
    {Форма.Форма.Форма(48)}: Ошибка при вызове конструктора (COMОбъект)
    MSXML = Новый COMОбъект("MSXML2.XMLHTTP.4.0");
    по причине:
    -2147221005(0x800401F3): Недопустимая строка с указанием класса

    Нашёл инфу что ошибка из за того что в системе не зарегистрирована библиотека comcntr.dll по пути C:\Program Files (x86)\1cv8\8.3.7.1845\bin, зарегал её, но не помогло.
  7. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Поменял в XMLHTTP.4.0 на 6.0 и ошибка ушла, но теперь другая выходит -Meh-
    {Форма.Форма.Форма(51)}: Ошибка при вызове метода контекста (send)
    MSXML.send(request);
    по причине:
    Произошла исключительная ситуация (msxml6.dll): Сбой скачивания указанного ресурса.

    Код:
    Код:
    request = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:ws=""http://api.vetrf.ru/schema/cdm/argus/production/ws-definitions"" xmlns:base=""http://api.vetrf.ru/schema/cdm/base""> "+
        " <soapenv:Header/>"+
        " <soapenv:Body>"+
        "    <ws:getProductByGuidRequest>    "+
        "       <base:guid>"+GUIDПродукции +"</base:guid>   "+
        "    </ws:getProductByGuidRequest>"+
        " </soapenv:Body> "+
        "</soapenv:Envelope>";
       
        ИмяСервера= "https://api2.vetrf.ru:8002/platform/services/ProductService";
       
        MSXML = Новый COMОбъект("MSXML2.XMLHTTP.6.0");
        MSXML.open("POST", ИмяСервера, 0,Логин,Пароль);
        MSXML.setRequestHeader("Accept", "text/xml; charset=utf-8");
        MSXML.send(request);
    
  8. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    По поводу данной ошибки, нашёл в чём проблема. Один из параметров метода принимает абстрактный тип данных, а 1С не позволяет создавать такой тип данных.
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Неопределено разве не абстрактный тип ?
  10. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Не в курсе, но когда я создаю объект
    Код:
    ApplicationData = Фабрика.Создать(Фабрика.Тип(
                                            "http://api.vetrf.ru/schema/cdm/application",
                                            "ApplicationData"));
    возникает ошибка:
    {Форма.Форма.Форма(37)}: Ошибка при вызове метода контекста (Создать)
    ApplicationData = Фабрика.Создать(Фабрика.Тип(
    по причине:
    Ошибка создания объекта:
    Попытка создания объекта абстрактного типа '{http://api.vetrf.ru/schema/cdm/application}ApplicationData'

    Безымянный.png
    Последнее редактирование: 28 янв 2016
  11. Andris_1c-pro
    Offline

    Andris_1c-pro Новичок в 1С

    Регистрация:
    12 сен 2014
    Сообщения:
    45
    Симпатии:
    8
    Баллы:
    4
    И не надо его создавать, если он абстрактный.
  12. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Тогда почему выходной результат не соответствует структуре типов объектов? Если смотреть по ней, то должно быть:
    data => ApplicationDataWrapper => applicationData
    а получаем
    data => applicationData
    То есть ApplicationDataWrapper потерялся.
  13. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Ещё вопрос, надо ли делать сериализацию в xml перед отправкой в сервис или достаточно параметры передать?
  14. Andris_1c-pro
    Offline

    Andris_1c-pro Новичок в 1С

    Регистрация:
    12 сен 2014
    Сообщения:
    45
    Симпатии:
    8
    Баллы:
    4
    1С сама сделает, ты же в XDTO заполняешь параметры
  15. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
  16. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    Появилась ещё идея по данной ошибке. Сервак сервиса использует защищённое соединение: https://api2.vetrf.ru:8002/platform/services/ApplicationManagementService
    И в описание конструктора
    Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>)
    есть параметр ЗащищенноеСоединение. Может надо его создать?
  17. Andris_1c-pro
    Offline

    Andris_1c-pro Новичок в 1С

    Регистрация:
    12 сен 2014
    Сообщения:
    45
    Симпатии:
    8
    Баллы:
    4
    Попробуй его создать, в СП 4 варианта есть, самый простой:
    ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено);
  18. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    думаю не прокатит, так как сертификат же нужен, но попробую
  19. Andris_1c-pro
    Offline

    Andris_1c-pro Новичок в 1С

    Регистрация:
    12 сен 2014
    Сообщения:
    45
    Симпатии:
    8
    Баллы:
    4
  20. TopicStarter Overlay
    smaximaa
    Offline

    smaximaa Опытный в 1С

    Регистрация:
    18 ноя 2015
    Сообщения:
    62
    Симпатии:
    0
    Баллы:
    26
    не помогло
    спасибо, гляну

Поделиться этой страницей