Имя: Пароль:
1C
1С v8
Веб-сервисы
0 Мэс33
 
19.09.13
07:33
Приветствую, други.

У меня тут на стороне 1С опубликован веб-сервис, который создает документы.

Подскажите, как перехватить тайаут веб-сервиса как со стороны 1С 8.2, так и со стороны софта, дергающего этот веб-сервис (написан на C#)?

Ситуация:
- софт дернул 1Совский веб-сервис и в этот момент интернет-соединение умерло. В 1С уже создался документ, а вот ответ от сервиса к софту не пришел.
- софт дернул 1Совский веб-сервис, 1С отработал запрос, создал документ, но все отвалилось по таймауту.

Как это перехватывать и отрабатывать?

Спасибо.
1 Нуф-Нуф
 
19.09.13
08:26
Посмотри как сделано в типовых. Например как ут11 сует файлы в докуметооборот через вебсервис.
2 Мэс33
 
19.09.13
08:56
Скачнуть российский УТ? Не уверен, что в казахстанской есть.
3 МойКодУныл
 
19.09.13
09:15
(0) WS инициирует считывание xml? и создает документ?
4 Мэс33
 
19.09.13
09:26
(3) Да. В коде прочитывается xml на входе и создает на его основе документ.
Бывает, что по тайауту отваливается, передающая сторона не имеет информации - создан документ или нет.
А в 1С в это время рандомно успевает документ создаться или не успевает.
5 Лефмихалыч
 
19.09.13
09:29
(0) добавь в вебсервис метод, который по ИД документа будет возвращать признак создан он уже или нет. Софт, соответственно, обучи сначала спрашивать, а потом гадить.
6 Лефмихалыч
 
19.09.13
09:30
ну или метод, сохздающий доку мент, обучи сначала искать, а потом только создавать, чтобы пофиг было, сколько раз софт потребует создать один и тот же документ
7 Мэс33
 
19.09.13
09:33
Это и так сделано, что 1С ищет вначале по уникальному ID, есть ли запись в базе.
А хотелось бы перехватить такую ошибку и откатить создание документа в 1С, вообще. Или это невозможно?
8 Serginio1
 
19.09.13
13:03
Передавай вместе с документом Гуид, который будет уникальным ключем.
Есть распределенные транзакции но 1С не поддерживает.
9 Serginio1
 
19.09.13
14:05
Вернее WS-ReliableMessaging не поддерживает.
Ошибка? Это не ошибка, это системная функция.