Solved

Creating SAMLAttribute in OpenSAML 1 /Java

Posted on 2009-05-14
1
464 Views
Last Modified: 2012-05-07
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

0
Comment
Question by:thecosimist
1 Comment
 

Accepted Solution

by:
thecosimist earned 0 total points
ID: 24392855
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

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
This video teaches viewers about errors in exception handling.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now