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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Интеграция с SharePoint
СообщениеДобавлено: Чт, окт 11 2018, 11:05 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, июл 23 2013, 17:41
Сообщения: 36
Пол: Мужской
Добрый день! У кого есть опыт интеграции с SharePoint через HTTP?
Пытаюсь выполнить GET запрос, выходит
Application Server Error 500 Native SSL error Error is logged with Tag: {0022fb4a} Thu Oct 11 09:38:29 2018

Code:
CONSTANTS
  : gc_user     TYPE string VALUE 'UserTest'
   ,gc_password TYPE string VALUE 'UserPass'
   .
DATA
  : lv_method   TYPE string
   ,lv_response TYPE xstring
   .

lv_method = 'GetByTitle(' && |'| && 'Test' && |'| && ')/items' .

PERFORM send_get_method
     USING lv_method
           abap_true
  CHANGING lv_response .

*&---------------------------------------------------------------------*
*&      Form  send_get_method
*&---------------------------------------------------------------------*
*       Вызов GET метода сервиса
*----------------------------------------------------------------------*
*      -->IV_METHOD  Метод
*      -->IV_SHOW    Показать ответ
*      <--CV_RESULT  Ответ
*----------------------------------------------------------------------*
FORM send_get_method
     USING iv_method    TYPE string
           iv_show      TYPE abap_bool
  CHANGING cv_result    TYPE xstring .

  CONSTANTS
    : lc_portal         TYPE string VALUE 'test.ru'
     ,lc_content_type   TYPE string VALUE 'application/json'
     ,lc_header_name    TYPE string VALUE 'accept'
     ,lc_header_value   TYPE string VALUE 'application/json;odata/verbose'
     ,lc_type_auth      TYPE i      VALUE 1
     .

  DATA
    : lo_http_client    TYPE REF TO if_http_client
     ,lv_service        TYPE string
     ,lv_result         TYPE xstring
     .

  lv_service = 'https://'
             && lc_portal
             && '/_api/web/lists/'
             && iv_method  .

  " Формирование объекта соединения с сервисом через REST /
  cl_http_client=>create_by_url(
    EXPORTING   url                         = lv_service
    IMPORTING   client                      = lo_http_client
    EXCEPTIONS  argument_not_found          = 1
                plugin_not_active           = 2
                internal_error              = 3
                OTHERS                      = 9 ).
  DO 1 TIMES.


    " Установить метод соединения
    lo_http_client->request->set_method(
      EXPORTING   method                      = if_http_request=>co_request_method_get ).

    " Протокол соединения
    lo_http_client->request->set_version(
      EXPORTING   version                     = if_http_request=>co_protocol_version_1_1 ).

    " Определение типа контента обмена
    lo_http_client->request->set_content_type(
      EXPORTING   content_type                = lc_content_type  ).

    " Заголовок соединения
    lo_http_client->request->set_header_field(
      EXPORTING   name                        = lc_header_name
                  value                       = lc_header_value ).

    " Аутенфикация
    lo_http_client->request->set_authorization(
      EXPORTING   auth_type                   = lc_type_auth
                  username                    = gc_user
                  password                    = gc_password ) .

    " Отправление
    lo_http_client->send(
      EXCEPTIONS  http_communication_failure  = 1
                  http_invalid_state          = 2
                  OTHERS                      = 9 ).

    " Получение ответа: ожидание
    lo_http_client->receive(
      EXCEPTIONS  http_communication_failure  = 1
                  http_invalid_state          = 2
                  http_processing_failed      = 3
                  OTHERS                      = 9 ).

    " Получение ответа: XML response
    lv_result = lo_http_client->response->get_data( ).

  ENDDO.


  IF sy-subrc NE 0.
    MESSAGE 'Ошибка обращения к сервису'
      TYPE 'S'
      DISPLAY LIKE 'E'.
    RETURN.
  ENDIF.


  " Отображение ответа
  IF iv_show EQ abap_true.
    CALL FUNCTION 'SRTUTIL_HELPER_XML_SHOW'
      EXPORTING
        xdoc = lv_result
        html = abap_false.
  ENDIF.


  cv_result = lv_result.

ENDFORM.                    "send_get_method


_________________
- Хочу выучить весь SAP
- А ты не лопнешь деточка???


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Интеграция с SharePoint  Тема решена
СообщениеДобавлено: Пт, окт 12 2018, 11:08 
Ассистент
Ассистент

Зарегистрирован:
Пт, фев 01 2013, 10:27
Сообщения: 35
Доброго дня.

Чтобы включить SSL я делал отдельное HTTP - назначение в SM59, в нём указывал все данные соединения + чекбокс SSL активно.
Далее тестируем соединение там же в SM59, если всё ок, то в программе вместо create_by_uri вызываем create_by_destination указывая в параметрах созданное RFC назначение.


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

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


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

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


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

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