Dan Smith wrote:
Can you explain why the XML was wrong and why this fixes it?
Sure. I used -d to see what xml was actually going across for the
filter. The create xml started off like this:
<?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 NAME="PG_InterOp"/>
</LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="NewInstance">
<INSTANCE CLASSNAME="CIM_IndicationFilter">
And then the corresponding delete xml started off like this:
<?xml version="1.0" encoding="utf-8"?>
<CIM CIMVERSION="2.0" DTDVERSION="2.0">
<MESSAGE ID="4711" PROTOCOLVERSION="1.0">
<SIMPLEREQ>
<IMETHODCALL NAME="DeleteInstance">
<LOCALNAMESPACEPATH>
<NAMESPACE NAME="root"/>
<NAMESPACE NAME="PG_InterOp"/>
</LOCALNAMESPACEPATH>
<IPARAMVALUE NAME="InstanceName">
<INSTANCENAME CLASSNAME="CIM_IndicationFilterCIMXML">
The classnames don't match up, so when we make the delete request the
CIMOM can't find the right instance to delete. Both handler and
subscription have the classnames properly matched, so they get created
and deleted properly. Now the one other thing I noticed is that handler
and subscription have the CIMXML suffix on both create and delete, so
maybe the more correct solution is to add it to the filter create, not
remove it from the filter delete. Do we have anything official that can
answer that for us?
--
-Jay