SAPфорум.RU https://sapboard.ru/forum/ |
|
Обращение ServiceConsumer к External WebService with Kerberos authentication https://sapboard.ru/forum/viewtopic.php?f=13&t=99482 |
Страница 1 из 1 |
Автор: | aap [ Чт, апр 08 2021, 10:05 ] |
Заголовок сообщения: | Обращение ServiceConsumer к External WebService with Kerberos authentication ![]() |
Добрый день, коллеги! Имею неприятную проблему, суть которой заключается в возврате ошибки "SOAP:1032 SRT: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 401 : Unauthorized")" при запуске ServiceConsumer из ABAP. Дано: 1. Внешний вебсервис с аутентификацией Kerberos, подготовленный доменный пользователь для обращения к веб-сервису. Подрядчик, выполняющий настройки внешнего вебсервиса и способа аутентификации, утверждает, что у них всё тип-топ. Допустим, что так. 2. На стороне ERP - ServiceConsumer, сгенерированный на основе WSDL-файла, присланного подрядчиком; настроенный логический порт в SOAMANAGER; для логического порта определен доменный пользователь с его паролем, остальные настройки - по умолчанию. 3. Есть успешный опыт вызова внешнего веб-сервиса сторонней системы, где тип аутентификации, скорее всего, BASIC, и в разделе "Безопасность клиента" не указаны данные пользователя и пароля для авторизации - всё по-простому. Странности: 1. Что происходит при попытке вызова сервиса из ABAP: при запуске прокси получаю модальное окно с предложением авторизоваться, пытаюсь использовать данные доменного пользователя - три безуспешных попытки и возврат ошибки "SOAP:1032 SRT: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 401 : Unauthorized")". Вопросы: 1. В SOAMANGER в разделе "Безопасность клиента" присутствует поле Authentication Method со значением sapsp:HTTPBasic. Не должно ли это поле содержать что-то типа "Kerberos"? 2. Какие предположения у коллег в связи с описанной ситуацией? Немного по версиям компонентов: SAP_BASIS 740 0011 SAPKB74011 SAP - базисная система SAP_ABA 740 0011 SAPKA74011 Компоненты, общие для всех приложений P.S. Если нужны ещё какие-то дополнительные сведения, напишите, постараюсь узнать. |
Автор: | jack_nsk [ Пт, апр 09 2021, 08:44 ] |
Заголовок сообщения: | Re: Обращение SeviceConsumer к External WebService with Kerberos authentication |
aap написал(а): Дано: 1. Внешний вебсервис с аутентификацией Kerberos, подготовленный доменный пользователь для обращения к вебсервису. 2. На стороне ERP - настроенный логический порт в SOAMANAGER; для логического порта определен доменный пользователь с его паролем, остальные настройки - по умолчанию. 3. Есть успешный опыт вызова внешнего вебсервиса сторонней системы, где тип аутентификации скорее всего BASIC и в разделе "Безопасность клиента" не указаны данные пользователя и пароля для авторизации - всё по-простому. Вопросы: 1. В SOAMANGER в разделе "Безопасность клиента" присутствует поле Authentication Method со значением sapsp:HTTPBasic. Не должно ли это поле содержать что-то типа "Kerberos"? ну, это как на той стороне настроены параметры для генерации тикета только сертификат, только логин-пароль, или и то и то в приоритете использования если зашла речь о Kerberos, теоретически речь идет о мультидомене SNC Error Code A2210233 in a Multi-Domain Environment правда я не видел практической реализации |
Автор: | aap [ Пт, май 07 2021, 13:34 ] |
Заголовок сообщения: | Re: Обращение SeviceConsumer к External WebService with Kerberos authentication |
В общем, пообщавшись с поддержкой SAP, выяснили, что SAP не может быть клиентом для веб-сервисов с аутентификацией по протоколу kerberos. Сервером быть может, а клиентом - нет. Чтобы являться сервером и поддерживать SSO, SAP должен быть накормлен деньгами за лицензии... Также интеграционные шины XI, PI, PO не имеют возможностей аутентифицироваться где-либо по Kerberos. Для того, чтобы ваш ServiceConsumer смог достучаться до сторонних не-SAP систем, можно использовать три способа аутентификации: 1. HTTP + BASIC - работает по умолчанию при создании логического порта в SOAMANAGER 2. HTTPS + BASIC - требует загрузки сертификатов в базисную транзакцию strust* и определения HTTPS в качестве протокола в SOAMANAGER. Этим способом мы и воспользовались в итоге. 3. Использование сертификата X.509. Вариант рассматривался в приоритете, но подрядчик отказался поднимать у себя этот протокол, т.к. трудозатраты и влияние на другие интеграции были слишком велики. * загрузка сертификата, полученного от центра сертификации, была сделана так (это уже передаю со слов наших доблестных базисников): 1. Сконвертировали PFX-файл в PSE-файл 2. Распотрошили PSE его на отдельные сертификаты 3. В strust проимпортировали pse + отдельно промежуточный и корневой сертификат На этом всё. Надеюсь, что кому-то это окажется полезным. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |