The example is based on the code in the ConnectionWorkflow 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 shows the steps for creating an authenticated session to the vCloud Suite Endpoint and creating the service stub for the Content Library API provider.

This example uses the steps described in the Access a vCloud Suite Service procedure.

import com.vmware.cis.tagging.Tag;
import com.vmware.vapi.bindings.StubConfiguration;
import com.vmware.vapi.bindings.StubFactory;
import com.vmware.vapi.cis.authn.ProtocolFactory;
import com.vmware.vapi.cis.authn.SecurityContextFactory;
import com.vmware.vapi.protocol.ProtocolConnection;
import com.vmware.vcloud.suite.samples.common.SSOConnection;
import com.vmware.vcloud.suite.samples.common.LookupServiceHelper;

...

// Log in to vCenter Single Sign-On by using valid user credentials. 
SSOConnection ssoConnection = getSSOConnection(ssoUrl);
ssoConnection.login(ssoUsername, ssoPassword);

// Create a protocol factory.
ProtocolFactory protocolFactory = new ProtocolFactory();

// Retrieve the vCloud Suite Endpoint URL.
LookupServiceHelper lookupService = new LookupServiceHelper(lookupServiceUrl);
String vCenterServerId = lookupService.getMgmtNodeId(vCenterServerName);
String vCloudSuiteUrl = lookupService.findVapiUrl(vCenterServerId);

// Create the protocol connection.
ProtocolConnection protocolConnection = protocolFactory.getConnection("https",
                                                                      vCloudSuiteUrl,
                                                                      SslUtil.createTrustStoreForServer(vCloudSuiteUrl));

// Create a StubFactory object.
StubFactory stubFactory = new StubFactory(protocolConnection.getApiProvider());

// Create the stub configuration instance and add a SAML security context to the instance.
StubConfiguration stubConfiguration = new StubConfiguration();
stubConfiguration.setSecurityContext(SecurityContextFactory.
         createSamlSecurityContext(ssoConnection.getSamlBearerToken(), null));

// Create a session and obtain a session identifier for the vCloud Suite Endpoint.
Session session = stubFactory.createStub(Session.class,	stubConfiguration);
char[] sessionId = session.create();

// Update the StubConfiguration instance with the session identifier.
stubConfiguration.setSecurityContext(SecurityContextFactory.createSessionSecurityContext(sessionId));

// Create service stubs for the Content Library service.
Library libraryService = stubFactory.createStub(Library.class,	stubConfiguration);

// Invoke an operation of the Content Library service.
List<String> listContentLibraries = libraryService.list();