Текущее время: Ср, окт 16 2024, 09:29

Часовой пояс: 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 часа


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

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


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

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