Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Обмен со сторонним веб сервисом          
AlekseY88 Подменю пользователя
сообщение 22.11.18, 5:19
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Доброго времени суток! Делаю обмен с веб сервисом:
URLобмена = "Testtest.ru:8012";

АдресСервиса = "http://Testtest.ru:8012/?wsdl";;

/// URLобмена и АдресСервиса  вымышленные:)    

Попытка

  Соединение = Новый HTTPСоединение(URLобмена);

Исключение

Ответ=ИнформацияОбОшибке().Описание;

КонецПопытки;    

ФайлРезультата = ПолучитьИмяВременногоФайла();

Заголовки=Новый Соответствие;

Заголовки.Вставить("Content-Charset", "UTF-8");

Заголовки.Вставить("Authorization", "Token testtoken");


HTTPЗапрос = Новый HTTPЗапрос(АдресСервиса, Заголовки);

HTTPОтвет = Соединение.Получить(HTTPЗапрос);

Ответ = HTTPОтвет.ПолучитьТелоКакСтроку();



В ответе получаю строку в которой описана "http://Testtest.ru:8012/?wsdl", если бы не было авторизации и просто вбита ссылка в браузер. Честно, запутался и даже не знаю куда копать... как из этого ответа создать WSОпределение, как создать Прокси, как обратиться к методам, которые были доступны просто по WS ссылке...в общем беда... Подскажите кто может, Спасибо!

nik389 Подменю пользователя
сообщение 22.11.18, 12:25
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 153
Из: Украина
Спасибо сказали: 37 раз
Рейтинг: 34

Можно так:
&НаСервере
Функция СоздатьСущностиДляРаботыССайтом(ПараметрыВозврата)
    НетОшибок = Истина;
    Попытка
        Определения = Новый WSОпределения(Сайт,Логин,Пароль);    
    Исключение
        Сообщить(ОписаниеОшибки());
        НетОшибок = Ложь;  
        Возврат НетОшибок;
    КонецПопытки;
    ИмяСервиса = Сервис;
    Попытка
    Прокси = Новый WSПрокси(Определения,ИмяСервиса,"Exchange_ukrmarketplaceservice","Exchange_ukrmarketplaceserviceSoap");
    Прокси.Пользователь = Логин;
    Прокси.Пароль = Пароль;
    Исключение
        Сообщить(ОписаниеОшибки());
        НетОшибок = Ложь;
        Возврат НетОшибок;
    КонецПопытки;
        
    ПараметрыВозврата.Вставить("Сервис",Сервис);
    ПараметрыВозврата.Вставить("Прокси",Прокси);

    Возврат НетОшибок;
КонецФункции


а дальше:
&НаСервере
Процедура ПолучитьНоменклатуруССайта()
    ВебОбъекты = Новый Структура;
    Если НЕ СоздатьСущностиДляРаботыССайтом(ВебОбъекты) Тогда
        Возврат;
    КонецЕсли;    
    
    Фабрика = ВебОбъекты.Прокси.ФабрикаXDTO;
    Фильтр = Фабрика.Создать(Фабрика.Тип(ВебОбъекты.Сервис, "Filter"));
    //Фильтр.productId = "";    
    Исключ = Фабрика.Создать(Фабрика.Тип(ВебОбъекты.Сервис, "exception"));
    
    ОтветСервера = ВебОбъекты.Прокси.GetProduct(Фильтр,Исключ);
    
    Попытка
        Продукция =ОтветСервера.product;
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 12:17
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!