This example is based on code in the ServiceEndpoint.cs sample file. This file is located in the following vCloud Suite SDK for .NET directory: client/samples/src/Samples/vmware/vcloud/suite/samples/common/.

This example uses the steps that are described in the Create a vCloud Suite Session with a SAML Token procedure.

using System;
using System.Security.Cryptography;
using vmware.vapi.bindings;
using vmware.vapi.dsig;
using vmware.vapi.protocol;
using vmware.vapi.security;

// Create a connection to the vCloud Suite Endpoint.
var protocolFactory = new ProtocolConnectionFactory();
var protocolConnection = protocolFactory.GetConnection(Protocol.Http, vapiUrl, new CspParameters());
myStubFactory = new StubFactory(protocolConnection.GetApiProvider());

// Create a temporary security context and 
// apply it to the stub configuration instance.
var tempStubConfiguration = new StubConfiguration();
tempStubConfiguration.SetSecurityContext(new SamlTokenSecurityContext
                                           (ssoConnection.SamlToken, ssoConnection.PrivateKey));

// 3 - Create session with SAML token context.
Session mySession = myStubFactory.CreateStub<Session>(tempStubConfiguration);

// 4 - Use the SAML token context to log in to the vCloud Suite Endpoint.
sessionId = Login(mySession);

// 5 - Use the session ID to replace the SAML token for the vCloud Suite session.
myStubConfiguration = new StubConfiguration();
myStubConfiguration.SetSecurityContext(new SessionSecurityContext(sessionId));
mySession = myStubFactory.CreateStub<Session>(myStubConfiguration);