GetClass(includeQualifiers) does not return property level qualifiers for
association classes. Specifically, if the association only contains two
REFs, then no property level qualifiers are returned by the
GetClass(includeQualifiers=true) call. If the association contains other
properties, then the call would include some property level qualifiers, but
the 'key' qualifiers are not returned.
The behavior is not new. I had always thought my client libraries were the
cause of the problem. I did not find time to examine the xml traces to
narrow down the cause of the problem until now. From my traces, they were
clearly sending the GetClass request with 'includeQualifiers' set to True.
I also found that this problem does not appear when I call GetClass() on
non-association classes.
See examples of the returned classes...
(No property level qualifiers returned.)
[Association(true):disableOverride tosubclass,
Description("The CIM_ElementConformsToProfile association defines the
RegisteredProfiles to which the referenced ManagedElement is conformant.
Note: This association may apply to any Managed Element. Typical usage will
apply it to a higher level instance, such as a System, NameSpace, or
Service. When applied to a higher level instance, all constituent parts
MUST behave appropriately in support of the ManagedElement\\'s conformance
to the named RegisteredProfile."):enableoverride tosubclass,
UMLPackagePath("CIM::Interop"):enableoverride tosubclass,
Version("2.8.0"):enableoverride tosubclass]
class CIM_ElementConformsToProfile {
CIM_RegisteredProfile ref ConformantStandard;
CIM_ManagedElement ref ManagedElement;
};
(Property qualifiers returned, but no keys.)
[Association(true):disableOverride tosubclass,
Description("ElementSoftwareIdentity allows a Managed Element to report its
software related asset information (firmware, drivers, configuration
software, and etc.)"):enableoverride tosubclass,
UMLPackagePath("CIM::Core::Software"):enableoverride tosubclass,
Version("2.13.0"):enableoverride tosubclass]
class CIM_ElementSoftwareIdentity :CIM_Dependency {
CIM_SoftwareIdentity ref Antecedent;
CIM_ManagedElement ref Dependent;
[Description("A collection of properties describing the status of the
software on the managed element. Multiple properties could be set at the
same time. For example a ElementSoftwareStatus could have \"Installed\",
\"Default\", \"Current\" and \"FallBack\" set at the same time.
\\n\"Current\" indicates that the software is currently running on or for
the Managed Element. \\n\"Next\" indicates that the software will run after
the next reset or reboot unless superseded by a software with a status of
\"SingleUse\". \\n\"FallBack\" indicates that the software will be run if
the software which has a status of \"Next\" or \"SingleUse\" fails to run.
\\n\"Default\" indicates the default version of the software that was
originally shipped by the manufacturer. \\n\"Installed\" indicates that the
software is persistently located and is available for use on the Managed
Element. \\n\"SingleUse\" indicates that the software will run only after
the next reset or reboot but will not run after the subsequent reset or
reboot. \\n\"Available\" indicates that the software is available for
installation on the Managed Element. \\n\"Supports\"indicates that the
software will work with or operate the Managed Element but is or will be
installed on a different Managed Element."):enableoverride tosubclass,
Experimental(true):enableoverride tosubclass,
ValueMap{"0", "2", "3", "4", "5", "6", "7", "8", "9", "..",
"32768..65535"}:enableoverride tosubclass,
Values{"Unknown", "Current", "Next", "FallBack", "Default", "Installed",
"Single Use", "Available", "Supports", "DMTF Reserved", "Vendor
Reserved"}:enableoverride tosubclass]
uint16 ElementSoftwareStatus[];
[Description("Describes the upgrade condition, when UpgradeCondition is
set to 1 (\"Other\")."):enableoverride tosubclass,
ModelCorrespondence{"CIM_ElementSoftwareIdentity.UpgradeCondition"}:enableo
verride tosubclass]
string OtherUpgradeCondition;
[Description("Indicates the element\\'s ability to upgrade this software
asset. \\n\\'Resides off element\\'(2), indicates the persistence of the
software is outside of the element. Typically for a element this software
is part of the OperatingSystem is typically upgradeable. \\n\\'Owner
Upgradeable\\' (3), indicates the persistence of the software is on the
element and is upgradeable by the owner. \\n\\'FactoryUpgradeable\\'
(4),indicates the persistence of the software is on the element and is
upgradeable by the manufacturer. \\n\\'Not Upgradeable\\' (5), indicates
the presistence of the software is on the element and is not upgradeable.
(i.e. burned into a non replaceable ROM chip."):enableoverride tosubclass,
ModelCorrespondence{"CIM_ElementSoftwareIdentity.OtherUpgradeCondition"}:en
ableoverride tosubclass,
ValueMap{"0", "1", "2", "3", "4", "5", "..",
"0x8000..0xFFFF"}:enableoverride tosubclass,
Values{"Unknown", "Other", "Resides off device", "Owner Upgradeable",
"Factory Upgradeable", "Not Upgradeable", "DMTF Reserved", "Vendor
Reserved"}:enableoverride tosubclass]
uint16 UpgradeCondition;
};
My testing was done using SBLIM Java Client library 1.3.x, 2.07, and WSI
Java Client library 2.0x. None of them return property level qualifiers.
Specifically, none returns the 'key' qualifier.
I've also tried to use 'wbemcli gcd' command, but I was not able to make
that call with the 'includeQualifiers' set to true.
Chris Buccella
sfcb
None
Public
|
Date: 2009-11-12 08:41 I agree with you. It will be a duplicate of 2093567. |
|
Date: 2009-11-09 20:43 Looks like this might be a duplicate of 2093567. Please confirm |
|
Date: 2009-06-25 07:36 I met same issue and I am trying to fix it. |
| Field | Old Value | Date | By |
|---|---|---|---|
| close_date | - | 2009-11-12 19:03 | buccella |
| resolution_id | None | 2009-11-12 19:03 | buccella |
| status_id | Open | 2009-11-12 19:03 | buccella |