Creating SAMLAttribute in OpenSAML 1 /Java

Hi,

I'm stuck using an old version of the OpenSAML 1 framework (the Java version). I'm trying to create an Attribute but am getting NullPointerExceptions. Tutorials and APIs for this early version of OpenSAML is extremely scarce, and I really hope someone here familiar with OpenSAML 1 can help me.

The NullPointer occurs when I'm transforming the AttributeStatement to a DOM tree. See code snippet.
SAMLAttributeStatement attributeStatement = new SAMLAttributeStatement();
Collection attribute = new ArrayList();
attribute.add("sv-se");
QName qualifiedName = new QName("saml", "AttributeValue");
SAMLAttribute samlAttribute = new SAMLAttribute("LanguageCulture",
                 "http://schemas.visma.com/saml/2009/03/languageCulture",
                 qualifiedName,
                 100,
                 attribute
);
attributeStatement.addAttribute(samlAttribute);
 
(...)
 
samlAssertion.addStatement(attributeStatement);
 
(...)
 
samlResponse.addAssertion(samlAssertion);
 
(...)
 
samlResponse.toDOM();

Open in new window

thecosimistAsked:
Who is Participating?
 
thecosimistAuthor Commented:
I have found the solution - the SAMLAttributeStatement expects a Subject element, so what is needed is something like the code below.

I realize that this might be a rather obscure field of interest :-) but I'm posting the solution anyway.
...
SAMLAttribute samlAttribute = new SAMLAttribute(...);
SAMLSubject subject = new SAMLSubject(...);
Collection<SAMLAttribute> attributes = new ArrayList<SAMLAttribute>();
attributes.add(samlAttribute);
SAMLAttributeStatement attributeStatement = new SAMLAttributeStatement(subject, attributes);
...

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.