To connect a solution to ESX Agent Manager, you must obtain connection information from the vCenter Server in which you run the solution. You pass a reference to the EsxAgentManager instance that is running in vCenter Server to the solution.

You pass the connection information to a solution by calling the appropriate methods from the vSphere API.

Note

If you integrate your solution with the vCenter Extension vService, the vService obtains the vCenter Server connection information for you. See Integrating an Extension with the vCenter Extension vService.

The EAM Sample Solution defines the connection to vCenter Server in the VimConnection.java class and the connection to ESX Agent Manager in the EamConnection.java class.

The VimConnection class defines methods to obtain the vCenter Server host ID, HTTPS proxy, and the session cookie. The Manager.java class implements VimConnection to connect to the vCenter Server on which the EAM Sample Solution is running. See Connect the Extension to vCenter Server.

Download the vSphere ESX Agent Manager SDK.

Verify that you have set up and started the EAM Sample Solution in an application server.

Open eam_work_folder\src\com\vmware\eam\sample\solution\util\VimConnection.java in an editor.

Open eam_work_folder\src\com\vmware\eam\sample\solution\util\EamConnection.java in an editor.

Open eam_work_folder\src\com\vmware\eam\sample\solution\Manager.java in an editor.

Obtain the following information from the vCenter Server instance on which you run a solution:

The vCenter Server host ID.

The HTTPS proxy port for vCenter Server.

The session cookie for the current user session in which the solution is logged in as an extension.

The managed object reference (MoRef) of the ESX Agent Manager instance that is running in the vCenter Server instance.

1

Establish a connection to the vCenter Server instance on which the solution runs.

The EAM Sample Solution establishes the connection to vCenter Server in the VimConnection.java class.

2

Create an instance of the ManagedObjectReference object of type EsxAgentManager.

The EamConnection.java class defines a constructor that creates a MoRef named _eamRef and a method named getEsxAgentManager() that returns the MoRef to the solution.

public EamConnection(String vcHost, int vcHttpsProxyPort, String sessionCookie) {
 [...]

 _eamRef = new ManagedObjectReference();
 _eamRef.setType("EsxAgentManager");
 _eamRef.setValue("EsxAgentManager"); 
}

 [...]

 public ManagedObjectReference getEsxAgentManager() {
   return _eamRef; 
}
3

Connect to the ESX Agent Manager with the URL to the ESX Agent Manager service and the session cookie for the current session in which the solution is logged in as an extension..

The EamConnection class defines a connect() method that connects to the ESX Agent Manager service.

public void connect() {
  if (_isConnected) {
    return;
  }

  try {
    [...]

    String eamUrl = "https://" + _vcHost + ":" + _vcHttpsProxyPort + "/eam/sdk/";
    [...]    
    Map<String, List<String>> map = new HashMap<String, List<String>>();
    map.put("Cookie", Collections.singletonList(_sessionCookie));
    ((BindingProvider) _stub).getRequestContext()
            .put(MessageContext.HTTP_REQUEST_HEADERS, map);
    _isConnected = true;
  }
}

You obtained the connection details for vCenter Server and connected a solution to ESX Agent Manager.

Configure ESX agencies and agents to deploy from the solution.