For the demo, we need class level information within the wsman conversions but do not have things like xsds, access to xsd repositories, etc. The pegasus repository was a logical source of this information. So, we extensivly use the pegasus repository with getclass to crete meta-information about classes. This assumes that we can access a pegasus repository even for instance operations. When working with Pegasus that is easy since Pegasus is always available. We assume that the address of the wsman server and the source for class information are the same. However, when working with other wsman servers both the client aps and internal implementation need access to this information so for the demo we set up a way that we can have one address for the wsman server and a second address representing the pegasus server which will be used for class operations and for getting any class level information needed by the client. To use this, set the following Environment variable before starting any client WSM_PEGASUS_HOST and WSM_PWGASUS_PORT Thus export WSM_PEGASUS_HOST=localhost export WSM_PEGASUS_PORT=5988 When the WSM_USE_WSMAN=true environment variable is set, the WSMCLI client sends instance operations to a wsman destination and both api driven class operations (ex. getClass) and background class operations to the PEGASUS Host defined. This means the the host and port specified on the CIMCLient connect call (the -n option with CLI) represent: 1. the cimxml cimserver when WSM_USE_WSMAN is NOT set. 2. The wsman server for all instance operations and ignored for class operations if WSM_USE_WSMAN is set. The defaults for server addresses are applied as follows: cimxml server address: localhost:5988 wsmanserver address localhost:<> (port 80 for the demo) Thus, The cli -n options specifies the WSM host and port for instance operations when the WSM_USE_WSMAN=true flag is set and the cimxml host when the flag is not set. NOTE: The code today DOES NOT allow the port 5988 to be used as the port for the wsman server. If you do use that address, it will cause problems. Thus, some examples that work: export WSM_PEGASUS_HOST=hostb export WSM_PEGASUS_PORT=5988 cli ni CIM_Computersystem -l hostb:5988 will access the cimxml server with cimxml address export WSM_USE_WSMAN=1 cli ni CIM_ComputerSystem -l hostb:80 will access the wsman server on hostb at port 80 Note that it will also get class info from the Pegasus server defined in the exports above. cli ni CIM_ComputerSystem -l hostb 1 Nov 2006