Теперь, когда мы уже разработали архитектуру комплекса АВР, приступим к коммуникациям, которые предоставляют нам 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/<Ссылка на сервис>
Остальные параметры логических портов аналогичны портам, настраиваемым для ЭСФ