Текущее время: Сб, сен 14 2024, 01:33

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Обмен данными с порталом через HTTPS
СообщениеДобавлено: Чт, сен 05 2024, 09:52 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, сен 20 2019, 08:48
Сообщения: 22
Здравствуйте, уважаемые коллеги. Очень нужна помощь.
Стоит задача реализовать обмен данными с порталом через HTTPS протокол.
Для этого были реализованы следующие шаги:
1. Через пользователя был выкачан сертификат доверия (без ключа и авторизации не выкачаешь).
Затем его залили в SAP через STRUST и в стандарт и в аноним.
2. В SM59 была создана HTTP-связь с внешним сервером.
Тип соединения = G
Целевой хост = адрес портала без https:// и без преффиксов
Прокси не указан
№ сервиса = 443
SSL = Акт. SSL-сертификат установлен на DEFAULT
HTTP-версия = HTTP 1.0
3. Ну и собственно код:
Code:
cl_http_client=>create_by_destination(
  EXPORTING
    destination = 'Имя соединения SM59'
  IMPORTING
    client = lo_http_client
  EXCEPTIONS
    argument_not_found = 1
    destination_not_found = 2
    destination_no_authority = 3
    plugin_not_active = 4
    internal_error = 5
    OTHERS = 6 ).
   
    if sy-subrc = 0.
      lo_http_client->request->set_method( if_http_request=>co_request_method_post ).
      lv_uri = 'https://' + адрес портала + преффикс согласно инструкции.
      lo_http_client->append_field_url( EXPORTING name = 'serial' value = '16-ричный колюч пользователя' CHANGING url = lv_uri ).
      lo_http_client->request->set_header_field( name  = '~request_uri' value = lv_uri ).
      lo_http_client->request->set_header_field( name  = if_http_header_fields=>content_type value = 'application/json').
   
      lo_http_client->send(
        EXPORTING
           timeout = 60
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3
          http_invalid_timeout       = 4 ).


      lo_http_client->receive(
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3
          OTHERS                     = 4 ).

      lo_http_client->response->get_status( IMPORTING code = lv_st_code reason = lv_st_text ).
      DATA(e_data) = lo_http_client->response->get_cdata( ).
      DATA(e_xdata) = lo_http_client->response->get_data( ).
     
    endif.
    lo_http_client->close( ).


lv_st_code возвращается равным 404
lv_st_text возвращается равным Connection Refused

Как бы мы не изменяли код возвращается такой код ошибки
И это только первый маленький этап из всего подключения и обмена.

Из-за чего может не работать. Может настроек сервера не хватает.
Код писали согласно инструкции по обмену от портала. Может в нем что-то не верно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Обмен данными с порталом через HTTPS
СообщениеДобавлено: Пт, сен 06 2024, 08:40 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, сен 20 2019, 08:48
Сообщения: 22
Проксю все-таки прописали ( ...и только это логично :) ). Теперь ругается на сертификаты, хотя они и добросовестно скачаны и залиты.
Среди прочего великолепия большой ошибки пишет:
SSL:SSL_read() failed (трэм-бэм-бэм) => "Cipher suite in ServerHello is unknown, not supported or different from the one found in the session being currently resumed."
Далее нахожусь в ожидании, так как дальше работает наш администратор.


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

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


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

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


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

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