Имя: Пароль:
1C
1С v8
повторный вызов вебсервиса
0 sakiselev
 
10.06.14
12:13
Настраиваю обмен через веб сервис в рознице 1.0.  В сервисе - 4 функции. У всех входной и выходной параметр хранилище значений.
Суть:
1.сначала я из переферийной базы обращаюсь к одной функции веб-сервиса и получаю контрольные данные,
2. затем я на основе этих контрольных данных делаю выгрузку из переферийной базы в центр уже обращаясь ко второй функции и вот тут то проблема. Начинает выполняться часть кода, но потом падает.

Падает с указанием: в этой транзакции происходили уже ошибки. Долго промучавшись, подключил отладку сервиса. Нашел места где падает: то при получении константы, то при выполнении запроса и так далее.
Начал копать далее, ведь я никаких транзакций не открываю. Стал искать в какой момент она открывается и оказалось , что она уже открыта в момент вызова функции веб сервиса: т.е только переферийная база подключилась и уже открыта транзакция.

Вопрос: как правильно вызывать функции одного и того же веб сервиса несколько раз подряд?

//Подключение к сервису
    Определения = Новый WSОпределения("http://......./...../ws/exchange.1cws?wsdl","....","";);
    Прокси = Новый WSПрокси (Определения,"http://......../....","ОбменСМагазинами";, "ОбменСМагазинамиSoap");
        
    
    Прокси.Пользователь = "....";
    Прокси.Пароль = "";
        
    
    //обращаемся к веб сервису 1 раз
    ОтветЦБнаЗапросКРК = прокси.GetCrcCenter(ХранилищеСтруктурыДляПолученияКркЦБ);
    
//обработка данных


//обращаемся к веб сервису 2 раз здесь и падает
    ОтветЦБ = Прокси.GetDataFromMainBase(мХранилище);

Вопрос: нужно ли Определения = Новый WSОпределения и Прокси заново инициализировать при повторном обращении?
1 sakiselev
 
10.06.14
12:45
я предполагаю - что при повторном обращении к сервису активно еще первое соединение - может его както завершить нужно?
2 sakiselev
 
10.06.14
13:27
вообщем проблему решил
3 dj_serega
 
10.06.14
13:28
(2) и как?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.