Текущее время: Пт, мар 29 2024, 17:48

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


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


ВНИМАНИЕ!

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



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

Зарегистрирован:
Чт, дек 17 2015, 20:36
Сообщения: 59
Добрый день!
Подскажите плз. что надо добавить в 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, 12:16 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Если Вы о том "как прервать фоновое задание" то, чем не устраивает "как обычно"?
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, 13:40 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 17 2015, 20:36
Сообщения: 59
Согласна, вопрос задан не корректно.
Класс 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, 16:33 
Менеджер
Менеджер
Аватара пользователя

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

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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