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);