Some CIM servers require that string values in the CIM-XML payload that contain special XML characters (such as embedded instances or embedded classes) are escaped using CDATA sections. PyWBEM currently supports only XML-based escaping of such string values.
I suggest to add support for CDATA-based escaping as an alternative to XML-based escaping, and to add a new instance variable to WBEMConnection that allows switching between XML-based and CDATA-based escaping, where the curently used XML-based escaping is used by default.
Fixed in commit level r715. The switch is a global variable _CDATA_ESCAPING in the cim_xml module, for now.