SAPфорум.RU https://sapboard.ru/forum/ |
|
HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure? https://sapboard.ru/forum/viewtopic.php?f=13&t=96204 |
Страница 1 из 1 |
Автор: | simka_3375 [ Ср, мар 21 2018, 11:56 ] |
Заголовок сообщения: | HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure? |
Добрый день! Подскажите плз. что надо добавить в 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 ). |
Автор: | Besa [ Ср, мар 21 2018, 12:16 ] |
Заголовок сообщения: | Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure? |
Если Вы о том "как прервать фоновое задание" то, чем не устраивает "как обычно"? Code: MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. Что за класс, есть/нет проблема по его работе send/receive , что в целом пытаетесь сделать, это не понятно. |
Автор: | simka_3375 [ Ср, мар 21 2018, 13:40 ] |
Заголовок сообщения: | Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure? |
Согласна, вопрос задан не корректно. Класс 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( ). |
Автор: | ghost [ Ср, мар 21 2018, 16:33 ] |
Заголовок сообщения: | Re: HTTP connection. Как правильно в ABAP-программе обработать http_communication_failure? |
Думаю, что вы не там копаете. Зависание receive не говорит еще, что проблемы с соединением. Причин может быть море, как пример: слишком большой объем данных. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |