Opening and Closing a Client Connection

A client application must first establish a connection with the CIMOM before the
client can perform WBEM operations. These operations might include adding, modifying, or
deleting a CIM class, CIM instance, or CIM qualifier type. The client
application and CIM Object Manager can run on the same host or on
different hosts. In addition, multiple clients can establish connections to the same CIM
Object Manager.

About Name Spaces

When an application connects to the CIMOM, the application must also connect to
a name space, where all subsequent operations occur. A name space is a directory-like
structure that contains classes, instances, and qualifier types. The names of all objects
within a name space must be unique. When you install the Solaris WBEM
SDK, four name spaces are created:

root\cimv2 – The default name space. Contains the CIM classes that represent objects on the system on which Solaris WBEM software is installed.

Opening a Client Connection

To open a client connection, you use the CIMClient class to connect to
the CIM Object Manager. The CIMClient class takes four arguments:

name – Required. An instance of a CIMNameSpace object that contains the name of the host and the name space used for the client connection. The default value is root\cimv2 on the local host. The local host is the same host in which the client application is running. Once the client is connected to the CIMOM, all subsequent CIMClient operations occur within the specified name space.

principal – Required. An instance of a UserPrincipal object that contains the name of a valid Solaris OS user account. The CIMOM checks the access privileges for the user name to determine the type of access that is allowed to CIM objects.

credential – Required. An instance of a PasswordCredential object that contains a valid password for the UserPrincipal Solaris OS account.

protocol – Optional (string). Protocol that is used for sending messages to the CIMOM. Possible values are RMI, which is the default value, or HTTP.

Example 4-1 Connecting to the Root Account

In this example, the application connects to the CIM Object Manager running
on the local host in the default name space. The application creates a
UserPrincipal object for the root account, which has read and write access
to all CIM objects in the default name space.

{
...
/* Create a name space object initialized with two null strings
that specify the default host (the local host) and the default
name space (root\cimv2).*/
CIMNameSpace cns = new CIMNameSpace("", "");
UserPrincipal up = new UserPrincipal("root");
PasswordCredential pc = new PasswordCredential("root-password");
/* Connect to the name space as root with the root password. */
CIMClient cc = new CIMClient(cns, up, pc);
...
}

Example 4-2 Connecting to a User Account

In this example, the application first creates an instance of a CIMNameSpace,
UserPrincipal, and PasswordCredential object. Then, the application uses the CIMClient class to pass
the host name, name space, user name, and password credential in order
to create a connection to the CIMOM.