Re: source-id .net

David Waite <[email protected]> Thu, 26 Jun 2003 10:26:28 -0600
Newsgroups gmane.comp.sourceid.sso.devel
Message-ID <[email protected]>
Paulo Ruivo wrote:

>Which were the files that are used by the WSDLdefinitions.wsdl file, are the
>ones that come with the source code?
>
The 'auto-generated' files are very heavily edited because the 
generation code within .NET cannot handle mapping existing files or 
mapping different sets of types and elements or different xml namespaces 
to different class namespaces. Also, I did not want to create another 
set of classes to represent the digital signatures than the classes 
within the System.Security.Cryptography.Xml namespace; I had to do some 
interesting workarounds for this as the XmlSerializer simply does not 
support writing serialization code; you must serialize via attribute 
decoration.

The SAML and Liberty bindings were created independantly. Once created, 
they were stripped of all duplicate class definitions to generate four 
distinct set of XML-representing classes. Later, the use of Signature 
and KeyInfo was changed to bind a property to some code to read and 
write those values.

The SOAP client came later; all of the schema files were used (the two 
liberty schemas, the two saml schemas, and the xmldsig schema), and 
nearly every class was deleted as they already existed. The client 
object created was modified to take a target URL in the constructor, and 
to specify an empty string as the SOAP action.

When you generate classes for the liberty envelopes with the xsd are 
wsdl tools, you will get errors regarding the non-deterministic model of 
the schemas. The reasoning for these is mentioned in the errata 
(http://www.projectliberty.org/specs/draft-liberty-architecture-1.1-errata-01.pdf), 
but I just ignored them.

-David Waite