digst / OIOSAML.Java

Other
11 stars 11 forks source link

Attribute parsing error- http://digst.dk/oiosaml/basic_privilege_profile #68

Open theroys opened 2 years ago

theroys commented 2 years ago

OIOSAML code fails to parse attribute http://digst.dk/oiosaml/basic_privilege_profile throws following error java.lang.ClassCastException: dk.gov.oio.saml.oiobpp.PrivilegeList cannot be cast to javax.xml.bind.JAXBElement at dk.gov.oio.saml.oiobpp.OIOBPPUtil.parse(OIOBPPUtil.java:38) at dk.gov.oio.saml.session.AssertionWrapper.(AssertionWrapper.java:155) at dk.gov.oio.saml.servlet.AssertionHandler.handlePost(AssertionHandler.java:164) at dk.gov.oio.saml.servlet.DispatcherServlet.doPost(DispatcherServlet.java:211) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

The result is AssertionWrapper getPrivilegeList() always returns null

TauBeblein commented 2 years ago

In OIOSAML 3.1.0 you should also have this error log statement "Failed to parse input string: {}" it might be relevant for a solution. I think that the unmarshalling delivered by your JAXB context is a little different from the one used in OIOBPPUtilTest. My guess is that you have added something that marshalls the PrivilegeList, so that it's no longer handled by dk.gov.oio.saml.oiobpp.ObjectFactory, and so you are no longer getting JAXBElement as a response.