This example is based on the code in the VapiConnectionWorkflow Java class from the com.vmware.vcloud.suite.samples.workflow package. The source file is located in the following vCloud Suite SDK for Java directory: VMware-vCloud-Suite-SDK-Java/client/samples/java.

This example uses the steps that are described in the Create a vCloud Suite Session with User Credentials procedure

import com.vmware.vapi.bindings.StubConfiguration;;
import com.vmware.vapi.bindings.StubFactory;
import com.vmware.vapi.cis.authn.ProtocolFactory;
import com.vmware.vapi.protocol.ProtocolConnection;
import com.vmware.vapi.cis.authn.SecurityContextFactory;
import com.vmware.vapi.cis.authn.UserPassSecurityContext;
import com.vmware.vapi.security.SessionSecurityContext;

...

// Create protocol connection object to access the vCloud Suite Endpoint.

ProtocolFactory protocolFactory = new ProtocolFactory();
ProtocolConnection protocolConnection = protocolFactory.getConnection("Http", vCloudSuiteUrl, 
                                             SslUtil.createTrustStoreForServer(vapiUrl));
StubFactory myStubFactory = new StubFactory(protocolConnection.getApiProvider());
 
// Create stub configuration instance and add the user name/password security context to it.
StubConfiguration myStubConfiguration = new StubConfiguration();
UserPassSecurityContext basicContext =
             SecurityContextFactory.createUserPassSecurityContext(ssoUsername, ssoPassword);
myStubConfiguration.setSecurityContext(basicContext);
 
// Create session with the user name/password security context.
Session session = stubFactory.CreateStub(Session.class, myStubConfiguration);
 
// Create an authenticated session to the vCloud Suite Endpoint 
// by using the user name/password security context.
char[] sessionId = session.create();
 
// Create a security context instance and add the session ID.
myStubConfiguration = new StubConfiguration();
SessionSecurityContext sessionContext = SecurityContextFactory.createSessionSecurity(sessionId);

// Update the stub configuration to use the session security context.
myStubConfiguration.setSecurityContext(sessioncontext);
mySession = myStubFactory.createStub(Session.class, myStubConfiguration);