Menu

#1563 wbemcli: ci doesn't include all props in xml request

open
5
2015-01-01
2009-04-15
No

When performing a createInstance operation wbemcli fails to add all properties to the xml request when reference properties are present.

The following example makes the creation request, but omits both the antecedent and dependent properties (taken from [Sblim-devel] WbemCLI Create Instance of association):

[root@localhost ~]# wbemci -dx http://admin:password@10.20.116.196:5988/root/interop:QLGC_PassThroughMapEntry.Antecedent="QLGC_FCPort.CreationClassName=\"QLGC_FCPort\",DeviceID=\"100000C0DD072D0E:200400C0DD072D0E\",SystemCreationClassName=\"QLGC_FCSwitch\",SystemName=\"100000C0DD072D0E \"",Dependent="QLGC_FCPort.CreationClassName=\"QLGC_FCPort\",DeviceID=\"100000C0DD072D0E:200000C0DD072D0E \",SystemCreationClassName=\"QLGC_FCSwitch\",SystemName=\"100000C0DD072D0E\"" PrimaryMapping=false
To server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="GetClass">
<LOCALNAMESPACEPATH>
<NAMESPACE NAME="root"/>
<NAMESPACE NAME="interop"/>
</LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="ClassName"><CLASSNAME NAME="QLGC_PassThroughMapEntry"/></IPARAMVALUE>
<IPARAMVALUE NAME="LocalOnly"><VALUE>FALSE</VALUE></IPARAMVALUE>
<IPARAMVALUE NAME="IncludeQualifiers"><VALUE>TRUE</VALUE></IPARAMVALUE>
<IPARAMVALUE NAME="IncludeClassOrigin"><VALUE>TRUE</VALUE></IPARAMVALUE>
</IMETHODCALL></SIMPLEREQ>
</MESSAGE></CIM>
From server: Content-Type: application/xml; charset="utf-8"
From server: Content-Length: 998
From server: Cache-Control: no-cache
>From server: CIMOperation: MethodResponse
From server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0">
<SIMPLERSP>
<IMETHODRESPONSE NAME="GetClass">
<IRETURNVALUE>
<CLASS NAME="QLGC_PassThroughMapEntry" SUPERCLASS="CIM_Dependency">
<QUALIFIER NAME="Association" TYPE="boolean">
<VALUE>TRUE</VALUE>
</QUALIFIER>
<QUALIFIER NAME="Description" TYPE="string">
<VALUE>CIM_Dependency is a generic association used to establish dependency relationships between ManagedElements.</VALUE>
</QUALIFIER>
<QUALIFIER NAME="UMLPackagePath" TYPE="string">
<VALUE>CIM::Core::CoreElements</VALUE>
</QUALIFIER>
<QUALIFIER NAME="Version" TYPE="string">
<VALUE>2.10.0</VALUE>
</QUALIFIER>
<PROPERTY.REFERENCE NAME="Antecedent" REFERENCECLASS="QLGC_FCPort"></PROPERTY.REFERENCE>
<PROPERTY.REFERENCE NAME="Dependent" REFERENCECLASS="QLGC_FCPort"></PROPERTY.REFERENCE>
<PROPERTY NAME="PrimaryMapping" TYPE="boolean">
</PROPERTY>
</CLASS>
</IRETURNVALUE>
</IMETHODRESPONSE>
</SIMPLERSP>
</MESSAGE>
</CIM>
To server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="CreateInstance"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="NewInstance"><INSTANCE CLASSNAME="QLGC_PassThroughMapEntry"><QUALIFIER NAME="Association" TYPE="boolean">
<VALUE>TRUE</VALUE>
</QUALIFIER><QUALIFIER NAME="Description" TYPE="string">
<VALUE>CIM_Dependency is a generic association used to establish dependency relationships between ManagedElements.</VALUE>
</QUALIFIER><QUALIFIER NAME="UMLPackagePath" TYPE="string">
<VALUE>CIM::Core::CoreElements</VALUE>
</QUALIFIER><QUALIFIER NAME="Version" TYPE="string">
<VALUE>2.10.0</VALUE>
</QUALIFIER>
<PROPERTY NAME="PrimaryMapping" TYPE="boolean"><VALUE>false</VALUE></PROPERTY></INSTANCE></IPARAMVALUE>
</IMETHODCALL></SIMPLEREQ>
</MESSAGE></CIM>
From server: Content-Type: application/xml; charset="utf-8"
From server: Content-Length: 321
From server: Cache-Control: no-cache
>From server: CIMOperation: MethodResponse
From server: <?xml version="1.0" encoding="utf-8" ?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0">
<SIMPLERSP>
<IMETHODRESPONSE NAME="CreateInstance">
<ERROR CODE="11" DESCRIPTION="Operation cannot be carried out because an object already exists"/>
</IMETHODRESPONSE>
</SIMPLERSP>
</MESSAGE>
</CIM>

Discussion

  • Tyrel Datwyler

    Tyrel Datwyler - 2009-04-15
    • labels: --> C Client (wbemcli)
    • assigned_to: nobody --> tyreld
     
  • Tyrel Datwyler

    Tyrel Datwyler - 2009-04-15

    In this second example (taken from the same sblim-devel thread) when the boolean property is given first it is omitted, but the antecedent and dependent properties are present:

    [root@localhost ~]# wbemci -dx http://admin:password@10.20.116.196:5988/root/interop:QLGC_PassThroughMapEntry.PrimaryMapping=true, Antecedent="QLGC_FCPort.CreationClassName=\"QLGC_FCPort\",DeviceID=\"100000C0DD072D0E:200400C0DD072D0E\",SystemCreationClassName=\"QLGC_FCSwitch\",SystemName=\"100000C0DD072D0E\"",Dependent="QLGC_FCPort.CreationClassName=\"QLGC_FCPort\",DeviceID=\"100000C0DD072D0E:200000C0DD072D0E\",SystemCreationClassName=\"QLGC_FCSwitch\",SystemName=\"100000C0DD072D0E\""
    To server: <?xml version="1.0" encoding="utf-8" ?>
    <CIM CIMVERSION="2.0" DTDVERSION="2.0">
    <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="GetClass">
    <LOCALNAMESPACEPATH>
    <NAMESPACE NAME="root"/>
    <NAMESPACE NAME="interop"/>
    </LOCALNAMESPACEPATH>
    <IPARAMVALUE NAME="ClassName"><CLASSNAME NAME="QLGC_PassThroughMapEntry"/></IPARAMVALUE>
    <IPARAMVALUE NAME="LocalOnly"><VALUE>FALSE</VALUE></IPARAMVALUE>
    <IPARAMVALUE NAME="IncludeQualifiers"><VALUE>TRUE</VALUE></IPARAMVALUE>
    <IPARAMVALUE NAME="IncludeClassOrigin"><VALUE>TRUE</VALUE></IPARAMVALUE>
    </IMETHODCALL></SIMPLEREQ>
    </MESSAGE></CIM>
    From server: Content-Type: application/xml; charset="utf-8"
    From server: Content-Length: 998
    From server: Cache-Control: no-cache
    >From server: CIMOperation: MethodResponse
    From server: <?xml version="1.0" encoding="utf-8" ?>
    <CIM CIMVERSION="2.0" DTDVERSION="2.0">
    <MESSAGE ID="4711" PROTOCOLVERSION="1.0">
    <SIMPLERSP>
    <IMETHODRESPONSE NAME="GetClass">
    <IRETURNVALUE>
    <CLASS NAME="QLGC_PassThroughMapEntry" SUPERCLASS="CIM_Dependency">
    <QUALIFIER NAME="Association" TYPE="boolean">
    <VALUE>TRUE</VALUE>
    </QUALIFIER>
    <QUALIFIER NAME="Description" TYPE="string">
    <VALUE>CIM_Dependency is a generic association used to establish dependency relationships between ManagedElements.</VALUE>
    </QUALIFIER>
    <QUALIFIER NAME="UMLPackagePath" TYPE="string">
    <VALUE>CIM::Core::CoreElements</VALUE>
    </QUALIFIER>
    <QUALIFIER NAME="Version" TYPE="string">
    <VALUE>2.10.0</VALUE>
    </QUALIFIER>
    <PROPERTY.REFERENCE NAME="Antecedent" REFERENCECLASS="QLGC_FCPort"></PROPERTY.REFERENCE>
    <PROPERTY.REFERENCE NAME="Dependent" REFERENCECLASS="QLGC_FCPort"></PROPERTY.REFERENCE>
    <PROPERTY NAME="PrimaryMapping" TYPE="boolean">
    </PROPERTY>
    </CLASS>
    </IRETURNVALUE>
    </IMETHODRESPONSE>
    </SIMPLERSP>
    </MESSAGE>
    </CIM>
    To server: <?xml version="1.0" encoding="utf-8" ?>
    <CIM CIMVERSION="2.0" DTDVERSION="2.0">
    <MESSAGE ID="4711" PROTOCOLVERSION="1.0"><SIMPLEREQ><IMETHODCALL NAME="CreateInstance"><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH>
    <IPARAMVALUE NAME="NewInstance"><INSTANCE CLASSNAME="QLGC_PassThroughMapEntry"><QUALIFIER NAME="Association" TYPE="boolean">
    <VALUE>TRUE</VALUE>
    </QUALIFIER><QUALIFIER NAME="Description" TYPE="string">
    <VALUE>CIM_Dependency is a generic association used to establish dependency relationships between ManagedElements.</VALUE>
    </QUALIFIER><QUALIFIER NAME="UMLPackagePath" TYPE="string">
    <VALUE>CIM::Core::CoreElements</VALUE>
    </QUALIFIER><QUALIFIER NAME="Version" TYPE="string">
    <VALUE>2.10.0</VALUE>
    </QUALIFIER>
    <PROPERTY.REFERENCE NAME="Antecedent"><VALUE.REFERENCE><INSTANCEPATH><NAMESPACEPATH><HOST>10.20.116.196</HOST><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH></NAMESPACEPATH><INSTANCENAME CLASSNAME="QLGC_FCPort"><KEYBINDING NAME="CreationClassName"><KEYVALUE VALUETYPE="string">QLGC_FCPort</KEYVALUE></KEYBINDING><KEYBINDING NAME="DeviceID"><KEYVALUE VALUETYPE="string">100000C0DD072D0E:200400C0DD072D0E</KEYVALUE></KEYBINDING><KEYBINDING NAME="SystemCreationClassName"><KEYVALUE VALUETYPE="string">QLGC_FCSwitch</KEYVALUE></KEYBINDING><KEYBINDING NAME="SystemName"><KEYVALUE VALUETYPE="string">100000C0DD072D0E</KEYVALUE></KEYBINDING></INSTANCENAME></INSTANCEPATH></VALUE.REFERENCE></PROPERTY.REFERENCE>
    <PROPERTY.REFERENCE NAME="Dependent"><VALUE.REFERENCE><INSTANCEPATH><NAMESPACEPATH><HOST>10.20.116.196</HOST><LOCALNAMESPACEPATH><NAMESPACE NAME="root"></NAMESPACE><NAMESPACE NAME="interop"></NAMESPACE></LOCALNAMESPACEPATH></NAMESPACEPATH><INSTANCENAME CLASSNAME="QLGC_FCPort"><KEYBINDING NAME="CreationClassName"><KEYVALUE VALUETYPE="string">QLGC_FCPort</KEYVALUE></KEYBINDING><KEYBINDING NAME="DeviceID"><KEYVALUE VALUETYPE="string">100000C0DD072D0E:200000C0DD072D0E</KEYVALUE></KEYBINDING><KEYBINDING NAME="SystemCreationClassName"><KEYVALUE VALUETYPE="string">QLGC_FCSwitch</KEYVALUE></KEYBINDING><KEYBINDING NAME="SystemName"><KEYVALUE VALUETYPE="string">100000C0DD072D0E</KEYVALUE></KEYBINDING></INSTANCENAME></INSTANCEPATH></VALUE.REFERENCE></PROPERTY.REFERENCE></INSTANCE></IPARAMVALUE>
    </IMETHODCALL></SIMPLEREQ>
    </MESSAGE></CIM>
    From server: Content-Type: application/xml; charset="utf-8"
    From server: Content-Length: 1739
    From server: Cache-Control: no-cache
    >From server: CIMOperation: MethodResponse
    From server: <?xml version="1.0" encoding="utf-8" ?>
    <CIM CIMVERSION="2.0" DTDVERSION="2.0">
    <MESSAGE ID="4711" PROTOCOLVERSION="1.0">
    <SIMPLERSP>
    <IMETHODRESPONSE NAME="CreateInstance">
    <IRETURNVALUE>
    <INSTANCENAME CLASSNAME="QLGC_PassThroughMapEntry">
    <KEYBINDING NAME="Antecedent">
    <VALUE.REFERENCE>
    <LOCALINSTANCEPATH>
    <LOCALNAMESPACEPATH>
    <NAMESPACE NAME="root"/>
    <NAMESPACE NAME="interop"/>
    </LOCALNAMESPACEPATH>
    <INSTANCENAME CLASSNAME="QLGC_FCPort">
    <KEYBINDING NAME="SystemCreationClassName">
    <KEYVALUE VALUETYPE="string">QLGC_FCSwitch</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="SystemName">
    <KEYVALUE VALUETYPE="string">100000C0DD072D0E</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="CreationClassName">
    <KEYVALUE VALUETYPE="string">QLGC_FCPort</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="DeviceID">
    <KEYVALUE VALUETYPE="string">100000C0DD072D0E:200400C0DD072D0E</KEYVALUE>
    </KEYBINDING>
    </INSTANCENAME>
    </LOCALINSTANCEPATH>
    </VALUE.REFERENCE>
    </KEYBINDING>
    <KEYBINDING NAME="Dependent">
    <VALUE.REFERENCE>
    <LOCALINSTANCEPATH>
    <LOCALNAMESPACEPATH>
    <NAMESPACE NAME="root"/>
    <NAMESPACE NAME="interop"/>
    </LOCALNAMESPACEPATH>
    <INSTANCENAME CLASSNAME="QLGC_FCPort">
    <KEYBINDING NAME="SystemCreationClassName">
    <KEYVALUE VALUETYPE="string">QLGC_FCSwitch</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="SystemName">
    <KEYVALUE VALUETYPE="string">100000C0DD072D0E</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="CreationClassName">
    <KEYVALUE VALUETYPE="string">QLGC_FCPort</KEYVALUE>
    </KEYBINDING>
    <KEYBINDING NAME="DeviceID">
    <KEYVALUE VALUETYPE="string">100000C0DD072D0E:200000C0DD072D0E</KEYVALUE>
    </KEYBINDING>
    </INSTANCENAME>
    </LOCALINSTANCEPATH>
    </VALUE.REFERENCE>
    </KEYBINDING>
    </INSTANCENAME>
    </IRETURNVALUE>
    </IMETHODRESPONSE>
    </SIMPLERSP>
    </MESSAGE>
    </CIM>

     

Log in to post a comment.