Thanks for the log. I see that you're using a relatively old version of the product which means you are using the low-level API. The code below is from the AssertionExample project that we include and that you should have. It's in VB.NET but if you're using C# hopefully it's easy enough to follow the syntax. The important thing to note is call to SAMLAttribute.RegisterAttributeValueSerializer. You will need to make a similar call so the SAML API knows to treat the attribute value as XML rather than as a string. The high-level API handles this automatically for you but with the low-level API you need to do this yourself. Please include this call in your code. If there's still an issue, please send me a section of code demonstrating the issue. Thanks.
' Include an attribute containing XML as its value. ' To correctly serialize/deserialize the value as XML rather than a string, ' the correct serializer must be registered for the attribute. ' In this example the Address attribute is XML. SAMLAttribute.RegisterAttributeValueSerializer("Address", Nothing, New XmlAttributeValueSerializer()) Dim addressAttribute As New SAMLAttribute("Address", SAMLIdentifiers.AttributeNameFormats.Unspecified, Nothing) Dim xmlDocument As New XmlDocument() xmlDocument.PreserveWhitespace = True xmlDocument.LoadXml("<Address><Street>1234 Main Street</Street><Town>Any Town</Town><Zip>56789</Zip></Address>") addressAttribute.Values.Add(New AttributeValue(xmlDocument.DocumentElement)) attributeStatement = New AttributeStatement() attributeStatement.Attributes.Add(addressAttribute)
samlAssertion.Statements.Add(attributeStatement)
Regards ComponentSpace Development
|