From: Bhavana G. <bha...@gm...> - 2017-09-04 11:16:02
|
Hi, I'm using SBLIM client library to invoke some extrinsic methods defined by a provider vendor and it fails to parse the CIM response with the following error: WBEMException: CIM_ERR_FAILED at org.sblim.cimclient.internal.wbem.WBEMClientCIMXML. invokeMethod(WBEMClientCIMXML.java:1370) at com.emc.cyclone.controlpath.adapters.cim.impl.testCIM. getHostDetails(testCIM.java:246) at com.emc.cyclone.controlpath.adapters.cim.CIMTest.cimtest( CIMTest.java:14) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1. runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod. evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf( ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule( ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren( ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000( ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate( ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner. startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater. startRunnerWithArgs(IdeaTestRunner.java:51) at com.intellij.rt.execution.junit.JUnitStarter. prepareStreamsAndStart(JUnitStarter.java:237) at com.intellij.rt.execution.junit.JUnitStarter.main( JUnitStarter.java:70) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main( AppMain.java:147) Caused by: org.xml.sax.SAXException: Navi_Error is invalid PARAMTYPE! at org.sblim.cimclient.internal.cimxml.sax.CIMObjectFactory. getType(CIMObjectFactory.java:280) at org.sblim.cimclient.internal.cimxml.sax.node.Node. getCIMType(Node.java:256) at org.sblim.cimclient.internal.cimxml.sax.EmbObjHandler. initInst(EmbObjHandler.java:110) at org.sblim.cimclient.internal.cimxml.sax.EmbObjHandler.init( EmbObjHandler.java:84) at org.sblim.cimclient.internal.cimxml.sax.node. ReturnValueNode.init(ReturnValueNode.java:66) at org.sblim.cimclient.internal.cimxml.sax. XMLDefaultHandlerImpl.startElement(XMLDefaultHandlerImpl.java:179) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl $FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at org.sblim.cimclient.internal.cimxml.sax.SAXHelper. parseInvokeMethodResponse(SAXHelper.java:62) at org.sblim.cimclient.internal.wbem.WBEMClientCIMXML. invokeMethod(WBEMClientCIMXML.java:1339) ... 29 more The method returns an instance of a vendor defined CIM class. The extrinsic method definition is like this: My_Error PerformOperation(inParam1, inParam2); The following is the response I get from the provider/CIM server on invoking the method: <?xml version="1.0" encoding="utf-8" ?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"><MESSAGE ID="877" PROTOCOLVERSION="1.0"><SIMPLERSP><METHODRESPONSE NAME="PerformOperation"><RETURNVALUE TYPE="My_Error"> <VALUE.NAMEDINSTANCE> <INSTANCENAME CLASSNAME="My_Error"> </INSTANCENAME> <INSTANCE CLASSNAME="My_Error"> <PROPERTY NAME="errorCode" TYPE="uint32"><VALUE>0</VALUE> </PROPERTY> <PROPERTY NAME="success" TYPE="boolean"><VALUE>true</VALUE> </PROPERTY> <PROPERTY NAME="where" TYPE="string"><VALUE>DownStream</VALUE> </PROPERTY> <PROPERTY NAME="why" TYPE="string"><VALUE>Success</VALUE> </PROPERTY> </INSTANCE> </VALUE.NAMEDINSTANCE> </RETURNVALUE></METHODRESPONSE></SIMPLERSP></MESSAGE></CIM> please help me in understanding how to successfully parse this response using sblim. Thanks Bhavana |