VMware vCloud Suite SDK for Java 6.0 Release Notes
Released 12 MAR 2015
Updated: 15 MAR 2016
This document contains the following sections:
|
Overview
This SDK provides programmatic access to new features introduced in vSphere 6.0 and existing features
that did not have a public API prior to the vSphere 6.0 release.
The vCloud Suite SDK for Java also includes
a provider development kit for defining, implementing and exposing new API services (API extensibility).
Access to existing features is exposed through the vSphere Web Services API. This SDK also contains samples
that demonstrate API extensibility and how the libraries work with other vSphere APIs.
The version 6.0 SDK enables programmatic access to the following services:
- Service discovery using Lookup Service
- Authentication (Single Sign-On)
- Session management
- Tagging
- Content Library
Note: Single Sign-On authentication is available
through the VMware vCenter Single Sign On API. Service discovery
is available through the Lookup Service API.
Distribution Kit
When you extract the contents of the vCloud Suite SDK for Java distribution kit,
the files are placed in the VMware-vCloud-Suite-SDK-Java directory.
That directory also contains the provider development kit which supports the
development of a service to be integrated into the vCloud Suite environment.
VMware-vCloud-Suite-SDK-Java/
client/
docs/
provider/
open_source_license.txt
SDK-EULA.txt
vCloud-Suite-SDK-Java-README.html
You can download the vCloud Suite SDK for Java distribution kit from the VMware Developer Center.
Supported Java Versions
The vCloud Suite SDK for Java 6.0 runs with JDK 7 or 8.
Known Issues
The following issues were discovered during testing.
-
Internal Server Error if Tagging Description Field is Empty
The Tag Category Description field is optional in the vSphere Web Services API, but it is mandatory in the vCloud Suite SDK. Therefore, if the description field is empty,
the vCloud Suite SDK can return an internal server error that states, "the ‘description’ field of the Category model is empty".
Workaround:
When creating tags, do not leave the description field empty. If you do not have any description, you may add a whitespace character (i.e. space).
-
Unauthenticated exception following long-running operation
After an API client completes a long-running operation, such as an upload to the content library, the next operation might fail with
an "Unauthenticated exception" message. This happens if the long running operation did not complete within the lifetime of the
authentication session.
Workarounds:
-
Keep the session alive by issuing short operations on another thread until the long running operation completes.
-
Increase the session length using the VMware vSphere Web Client. Select
Administration > System Configuration > Services > vAPI Endpoint > Manage > General,
and increase the value for the Maximum session idle time.
-
Tomcat vulnerability to CVE-2014-0227 (request smuggling exploit).
The vCloud Suite SDK for Java ships with Tomcat version 7.0.35,
which contains a vulnerability to request smuggling.
In the case of a chunked request, a malformed continuation chunk
could be interpreted by Tomcat as a new request.
Workaround:
Upgrade the Tomcat server to version 7.0.55 or later.
-
Validation of server certificates.
The samples in the vCloud Suite SDK for Java do not perform
server certificate validation, as written.
This is suitable for development environments, but for production environments,
you should modify the samples to perform certificate validation.
To perform certificate validation:
-
Import the server certificate into a certificate file that is accessible
to the client.
-
Modify the client code to present a Java keystore that contains the server certificate.
For example:
ProtocolFactory protocolFactory = new ProtocolFactory();
ProtocolConnection protocolConnection =
protocolFactory.getConnection(Protocol.http, vcloudSuiteUrl, javaKeystore);
-
Identify the certificate file location to the client.
You can do this in one of two ways:
-
To identify the certificate location statically, set these trustStore properties:
System.setProperty("javax.net.ssl.trustStore", javaKeystorePath);
System.setProperty("javax.net.ssl.trustStorePassword", javaKeystorePassword);
-
To identify the certificate location dynamically, specify the locations
on the command line when you run the samples:
-Djavax.net.ssl.trustStore=javaKeystorePath
-Djavax.net.ssl.trustStorePassword=javaKeystorePassword
Resolved Issues
-
Acquiring a Holder of Key (HoK) SAML token using a key/certificate pair
generated during runtime, fails with JDK 1.8.
The samples in the vCloud Suite SDK for Java use methods in the
vCenter Single Sign-On SDK for authentication.
A change in JDK 1.8 caused the certificate creation to fail with a
java.security.cert.CertificateException.
This problem has been fixed.
|