Skip to Content.
Sympa Menu

mace-opensaml-users - RE: [OpenSAML] Attribute Values in XACMLAuthzQuery

Subject: OpenSAML user discussion

List archive

RE: [OpenSAML] Attribute Values in XACMLAuthzQuery


Chronological Thread 
  • From: "Rachana Ananthakrishnan" <>
  • To: <>
  • Subject: RE: [OpenSAML] Attribute Values in XACMLAuthzQuery
  • Date: Wed, 4 Jun 2008 13:50:10 -0500

Hi,
 
Thanks. This API allows only string to be set as value of attribute. But really the attribute value can be any Java object that is serializable, right?
 
Rachana


From: [mailto:] On Behalf Of Håkon Sagehaug
Sent: Wednesday, June 04, 2008 4:21 AM
To:
Subject: [OpenSAML] Attribute Values in XACMLAuthzQuery

Hi Rachana,

I see that my guide is wrong on that point. I made a attribute value like it done in saml, but in saml the attribute value is defined like this

<element name="AttributeValue" type="anyType" nillable="true"/>

But in xacml like this

<xs:element name="AttributeValue" type="xacml-context:AttributeVa
lueType"/>
<xs:complexType name="AttributeValueType" mixed="true">
 <xs:sequence>
 <xs:any namespace="##any" processContents="lax" minOccurs="0"
 maxOccurs="unbounded"/>
 </xs:sequence>
 <xs:anyAttribute namespace="##any" processContents="lax"/>
 </xs:complexType>

So the correct way of creating a attribute value is like this

AttributeValueTypeImplBuilder attributeValueBuilder = (AttributeValueTypeImplBuilder) builderFactory
        .getBuilder(AttributeValueType.DEFAULT_ELEMENT_NAME);

    AttributeValueType actionAttributeValue = attributeValueBuilder
        .buildObject();

    actionAttributeValue.setValue(actionString);

Then the output is correct

 <xacml-context:Attribute AttributeId="urn:action" Issuer="issuer">
         <xacml-context:AttributeValue>action</xacml-context:AttributeValue>
      </xacml-context:Attribute>


--
Håkon Sagehaug, Software Developer
Parallab, Bergen Center for Computational Science (BCCS)
UNIFOB AS (University of Bergen Research Company)



Archive powered by MHonArc 2.6.16.

Top of Page