Разработка АВР. Ч. 1. API портала.

Теперь, когда мы уже разработали архитектуру комплекса АВР, приступим к коммуникациям, которые предоставляют нам API портала.

1. Прежде всего создаём клиента к SOAP. По какой-то причине создание клиента напрямую — по ссылке вызывает ошибку. Поэтому скачиваем WSDL-файлы для каждого сервиса.

https://test3.esf.kgd.gov.kz:8443/esf-web/ws/api1/SessionService?wsdl

https://test3.esf.kgd.gov.kz:8443/esf-web/ws/api1/AwpWebService?wsdl

http://<IP адрес сервера, где установлен сервер подписей>:6666/LocalService

2. Теперь можно создать клиента. Для этого в транзакции se80 кликаем правой кнопкой мыши на имени пакета и выбираем пункт Create — Enterprise service — Service Consumer и создаем клиента на основании локального файла

В результате этого в системе появятся отдельные классы, для работы с каждым сервисом и зависимые компоненты (структуры, элементы данных и другое)

3. Теперь, используя эти классы можно взаимодействовать с порталом. Для начала авторизируемся на портале

DATA: lo_session        TYPE REF TO zsnt_co_session_service,
        ls_req            TYPE zsnt_create_session,
        ls_res            TYPE zsnt_create_session_response1,
lv_session_id TYPE string,
        lv_string TYPE string.

  CREATE OBJECT lo_session.
  ls_req-create_session_request-tin = <БИН>.
  ls_req-create_session_request-project_code = 0.
  ls_req-create_session_request-x509certificate = <Сертификат аутентификации>.
  ls_req-create_session_request-source_type = ‘ERP_SAP’.

  TRY.
      lo_session->create_session( EXPORTING create_session = ls_req
                           IMPORTING create_session_response = ls_res  ).
    CATCH cx_root INTO lo_ex.
lv_string = lo_ex->get_text( ).
  ENDTRY.
  lv_session_id  = ls_res-create_session_response-session_id.

4. Однако, прежде чем запускать программу, необходимо создать логический порт в SOAMANAGER. К сожалению логические порты не сохраняются в запрос и их нужно создавать в непосредственно в манданте, где выполняется тестирование.

Для создания порта необходимо зайти в транзакцию SOAMANAGER

В появившемся окне заходим в закладку Service Administration — Web Service Configuration

Затем находим объект, который создали на шаге 2 и создаем логический порт. Для доступа к тестовому порталу необходимо использовать ссылку:

https://test3.esf.kgd.gov.kz:8443/esf-web/ws/api1/<Ссылка на сервис>

Остальные параметры логических портов аналогичны портам, настраиваемым для ЭСФ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *