Текущее время: Чт, июн 21 2018, 21:38

Часовой пояс: UTC + 4 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure?
СообщениеДобавлено: Ср, мар 21 2018, 12:56 
Ассистент
Ассистент

Зарегистрирован:
Чт, дек 17 2015, 21:36
Сообщения: 48
Добрый день!
Подскажите плз. что надо добавить в ABAP-программу (см. далее), чтобы в случае http_communication_failure срабатывал exception raise connection_error и фонового задание завершалось?
В онлайне запускаю программу, mo_client->send отрабатывает sy-subrc = 0, а на mo_client->receive виснет.

mo_client->send(
exceptions
http_communication_failure = 1
http_invalid_state = 2 ).
if sy-subrc <> 0.
raise connection_error.
endif.

mo_client->receive(
exceptions
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3 ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure?
СообщениеДобавлено: Ср, мар 21 2018, 13:16 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 2927
Пол: Мужской
Если Вы о том "как прервать фоновое задание" то, чем не устраивает "как обычно"?
Code:
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.


Что за класс, есть/нет проблема по его работе send/receive , что в целом пытаетесь сделать, это не понятно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure?
СообщениеДобавлено: Ср, мар 21 2018, 14:40 
Ассистент
Ассистент

Зарегистрирован:
Чт, дек 17 2015, 21:36
Сообщения: 48
Согласна, вопрос задан не корректно.
Класс MO_CLIENT Type ref to IF_HTTP_CLIENT. Метод create_by_url читает данные в формате xml.
Чтобы выполнить завершение фонового задания через MESSAGE... надо чтобы sy-subrc <> 0 или какой-то другой признак, что задание висит. Метод mo_client->receive вызывается и зависает. Предыдущие методы отработали с sy-subrc = 0.

method create_by_url.
...
call method cl_http_client=>create_by_url
exporting
url = mv_url
importing
client = mo_client
exceptions
others = 1.
if sy-subrc <> 0.
raise connection_error.
endif.

mo_client->send(
exceptions
http_communication_failure = 1
http_invalid_state = 2 ).
if sy-subrc <> 0.
raise connection_error.
endif.

mo_client->receive(
exceptions
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3 ).

call method mo_client->response->get_status
importing
...
mo_client->close( ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure?
СообщениеДобавлено: Ср, мар 21 2018, 17:33 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 11:34
Сообщения: 700
Откуда: Tashkent -> Astana -> Moscow
Пол: Мужской
Думаю, что вы не там копаете. Зависание receive не говорит еще, что проблемы с соединением. Причин может быть море, как пример: слишком большой объем данных.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB