From: Klaus K. <kk...@su...> - 2012-02-29 09:15:29
|
Chris, after doing further analysis, it looks like there's still a bug in sfcb. * Chris Buccella <buc...@li...> [Feb 27. 2012 21:32]: > Hey Klaus, > > As a clarification, the provider is only returning "a cdata string" in > this case. It is SFCB that encapsulates the provider output into XML > tags. Looking at the code, SFCB wraps 'instance'-type values in CDATA only. The case at hand is about 'string'-type values only. > > Given that, I see the situations your raised as applying solely to > wbemcli's behavior. It's client-specific, so I think it's really a > matter of the "right way" to display EmbeddedObjects when they are returned. I beg to differ. Given that CIM/XML should be an interoperable protocol, wbemcli should behave identical together with SFCB, Pegasus or any other CIMOM. However, SFCB and Pegasus currently disagree in the on-wire representation of specific string property values. I have written a sample cmpi provider returning three string property values: Strange=".this.is&strange" CData="<![CDATA[this is cdata]]>" XmlData="<wrap><![CDATA[this is cdata]]></wrap>" Running wbemcli with -dx reveals the following SFCB's XML representation: <PROPERTY NAME="Strange" TYPE="string"> <VALUE>.this.is&strange</VALUE> </PROPERTY> <PROPERTY NAME="CData" TYPE="string"> <VALUE><![CDATA[this is cdata]]></VALUE> </PROPERTY> <PROPERTY NAME="XmlData" TYPE="string"> <VALUE><wrap><![CDATA[this is cdata]]></wrap></VALUE> </PROPERTY> wbemcli-1.6.2 crashes on this XML data, my patched wbemcli works fine. Pegasus XML representation <PROPERTY NAME="Strange" CLASSORIGIN="RCP_PassCData" TYPE="string"> <VALUE>.this.is&strange</VALUE> </PROPERTY> <PROPERTY NAME="CData" CLASSORIGIN="RCP_PassCData" TYPE="string"> <VALUE><![CDATA[this is cdata]]></VALUE> </PROPERTY> <PROPERTY NAME="XmlData" CLASSORIGIN="RCP_PassCData" TYPE="string"> <VALUE><wrap><![CDATA[this is cdata]]></wrap></VALUE> </PROPERTY> wbemcli-1.6.2 works fine on this XML data and returns the string property value unchanged. Regards, Klaus --- SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) Maxfeldstraße 5, 90409 Nürnberg, Germany |