Я пытаюсь настроить своего поставщика услуг с помощью библиотек OpenSAML2. Я пытаюсь настроить сервлет, который будет принимать HttpRequest из браузера пользователя, и на основе параметров запроса я хочу создать пакет запроса аутентификации SAML.
Я могу создать пакет SAML, однако хочу, чтобы SAML закодировал в Base64, чтобы можно было перенаправить браузер пользователя на сервер поставщика удостоверений. Для этого я пытаюсь организовать запрос аутентификации SAML, используя org.opensaml.saml2.core.impl.AuthnRequestMarshaller # marshall (AuthnRequest).
Это отлично работает, когда я пробую его вне среды веб-сервера (автономное приложение JAVA). Однако, когда я запускаю его как компонент сервлета, я получаю сообщение об ошибке: «Нет доступного маршаллера для {urn: oasis: names: tc: SAML: 2.0: assertion} Эмитент, потомок {urn: oasis: names: tc: SAML: 2.0. : protocol} AuthnRequest ", где Issuer - компонент объекта AuthnRequest.
Я использую веб-сервер Tomcat 5.5.34. Было бы неплохо, если бы кто-нибудь помог мне разобраться, что здесь происходит. Это помогло бы и другим, пытающимся написать своих собственных поставщиков услуг. Удивительно, но для этого доступно очень мало документации.
Спасибо, Каустубх