我正在嘗試使用OpenSAML2庫設置我的服務提供者。我試圖設置一個servlet,它將接受來自用戶瀏覽器的HttpRequest,並基於請求參數創建一個SAML認證請求包。在Servlet環境(Tomcat Web服務器)中使用OPENSAML2時發生編組錯誤
我能夠創建SAML數據包,但是我希望Base64對SAML進行編碼,以便我可以將用戶瀏覽器重定向到身份提供商服務器。爲了做到這一點,我試圖使用'org.opensaml.saml2.core.impl.AuthnRequestMarshaller#marshall(AuthnRequest)'編組SAML身份驗證請求。
當我在Web服務器環境(獨立JAVA應用程序)之外嘗試它時,此工作正常。但是,當我將它作爲servlet組件運行時,出現一個錯誤,提示「沒有marshaller可用於{urn:oasis:names:tc:SAML:2.0:assertion}發行人,{urn:oasis:names:tc:SAML:2.0 :protocol} AuthnRequest「,其中Issuer是AuthnRequest對象的組件。
我使用的是Tomcat 5.5.34 webserver。如果有人能幫我弄清楚這裏發生了什麼,那會很好。這將有助於其他人嘗試編寫自己的服務提供商。令人驚訝的是非常少的文檔可用於此。
感謝, Kaustubh