wbemexec cim-xml and ws-man
"Pierre Pacchioni" <[email protected]>
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <[email protected]> |
Hello, If I'm correct the openPegasus cimserver understands both cim-xml and ws-man on the same port assuming the server has been compiled with the PEGASUS_ENABLE_PROTOCOL_WSMAN set to true (and for extra precaution this global var is also set when the server is launched). But I cannot make it works . We developed a PCI Provider which implements DSP 1075 (retrieving drivers information via the PCIe bus). I can correctly retrieve the information with both cimcli and wbemexec using CIM-XML protocol. For instance: F:\Users\pacchioni\Workspace\DCNS\install\Windows\win32\HMC-1.0.0\pegasus\de bug\bin>cimcli niall 50 instances of class CIM_CIMOMStatisticalData.InstanceID="CIM_CIMOMStatisticalData0" CIM_CIMOMStatisticalData.InstanceID="CIM_CIMOMStatisticalData1" CIM_CIMOMStatisticalData.InstanceID="CIM_CIMOMStatisticalData2" . And F:\Users\pacchioni\Workspace\DCNS\install\Windows\win32\HMC-1.0.0\pegasus\de bug\bin>wbemexec.exe F:\Users\pacchioni\Workspace\DCNS\CSCI\HMC_ScanPCI\te st\EnumerateInstanceNames\EnumerateInstanceNames3000.xml <?xml version="1.0" encoding="utf-8"?> <CIM CIMVERSION="2.0" DTDVERSION="2.0"> <MESSAGE ID="3000" PROTOCOLVERSION="1.0"> <SIMPLERSP> <IMETHODRESPONSE NAME="EnumerateInstanceNames"> <IRETURNVALUE> <INSTANCENAME CLASSNAME="CIM_PCIDevice"> <KEYBINDING NAME="SystemCreationClassName"> <KEYVALUE VALUETYPE="string"> PG_ComputerSystem </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="SystemName"> <KEYVALUE VALUETYPE="string"> Quintessa </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="CreationClassName"> <KEYVALUE VALUETYPE="string"> CIM_PCIDevice </KEYVALUE> </KEYBINDING> <KEYBINDING NAME="DeviceID"> <KEYVALUE VALUETYPE="string"> 7202 </KEYVALUE> </KEYBINDING> </INSTANCENAME> . But when I try to access the cimom with WS-Man file I got the following error: F:\Users\pacchioni\Workspace\DCNS\install\Windows\win32\HMC-1.0.0\pegasus\de bug\bin>wbemexec.exe -h 192.168.6.97 -p 5988 F:\Users\pacchioni\Workspace\ DCNS\tmp\Enumerate_Success02.xml HTTP/1.1 500 Internal Server Error Content-Type: application/soap+xml;charset=UTF-8 content-length: 0000001560 SOAPAction: http://schemas.xmlsoap.org/ws/2004/08/addressing/fault <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xml="http:/ /www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsman="http:/ /schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns:wsmb="http://schemas.dmtf.org/wbem/wsman/1/cimbinding.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/20 04/08/addressing" xmlns:wxf="http://schemas.xmlsoap.org/ws/2004/09/transfer" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wse= "http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl" xmlns:wscim="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2"> <SOAP-ENV:Header> <wsa:To> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous </wsa:To> <wsa:Action> http://schemas.xmlsoap.org/ws/2004/08/addressing/fault </wsa:Action> <wsa:MessageID> uuid:00000000-0000-0000-0000-000000000000 </wsa:MessageID> <wsa:RelatesTo> uuid:00000000-0000-0000-0005-000000000001 </wsa:RelatesTo> </SOAP-ENV:Header> <SOAP-ENV:Body> <SOAP-ENV:Fault> <SOAP-ENV:Code> <SOAP-ENV:Value> SOAP-ENV:Sender </SOAP-ENV:Value> <SOAP-ENV:Subcode> <SOAP-ENV:Value> wsa:DestinationUnreachable </SOAP-ENV:Value> </SOAP-ENV:Subcode> </SOAP-ENV:Code> <SOAP-ENV:Reason> <SOAP-ENV:Text xml:lang="en-US"> CIM_ERR_NOT_FOUND: WsmBase </SOAP-ENV:Text> </SOAP-ENV:Reason> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> A quick search on the web shows that this error is due to the following reason: http://www.w3.org/Submission/ws-addressing/ 4.3 Destination Unreachable The no endpoint can be found capable of acting in the role of the [destination] property. [Code] S:Sender [Subcode] wsa:DestinationUnreachable [Reason] No route can be determined to reach the destination role defined by the WS-Addressing To. [Detail] empty I attached the file I'm using (directly copied from openpegasus test directory). A priori the localhost/wsman is wrong but I don't know what is the correct value. Do you have any idea? Thanks for your help, Pierre.
Enumerate_Success02.xml
(text/xml, 1.1 KB)
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wse="http://schemas.xmlsoap.org/ws/2004/09/enumeration"
xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">
<s:Header><a:To>http://localhost/wsman</a:To>
<w:ResourceURI s:mustUnderstand="true">
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/WsmBase
</w:ResourceURI>
<a:ReplyTo>
<a:Address s:mustUnderstand="true">
http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous
</a:Address>
</a:ReplyTo>
<a:Action s:mustUnderstand="true">
http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate
</a:Action>
<w:MaxEnvelopeSize s:mustUnderstand="true">153600</w:MaxEnvelopeSize>
<a:MessageID>uuid:00000000-0000-0000-0005-000000000001</a:MessageID>
<w:Locale xml:lang="en-US" s:mustUnderstand="false" />
<w:SelectorSet>
<w:Selector Name="__cimnamespace">root/cimv2</w:Selector>
</w:SelectorSet>
<w:OperationTimeout>PT60.000S</w:OperationTimeout>
</s:Header>
<s:Body>
<wse:Enumerate>
</wse:Enumerate>
</s:Body>
</s:Envelope>