Я пытаюсь настроить своего поставщика услуг, используя библиотеки OpenSAML2. Я пытаюсь настроить сервлет, который будет принимать HttpRequest из браузера пользователя и на основе параметров запроса я хочу создать пакет запроса проверки подлинности SAML.
Я могу создать пакет SAML, однако я хочу, чтобы Base64 кодировал SAML, чтобы я мог перенаправить браузер пользователя на сервер поставщика удостоверений. Для этого я пытаюсь выполнить маршалинг запроса аутентификации 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. Было бы хорошо, если бы кто-то мог помочь мне выяснить, что здесь происходит. Это также поможет другим, пытающимся написать своих собственных поставщиков услуг. Удивительно, но для этого доступно меньше документации.
Спасибо,
Kaustubh