RE: wbemexec cim-xml and ws-man
"Pierre Pacchioni" <[email protected]>
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <[email protected]> |
Ok sorry for the "noise" someone here found the "trick" thanks to this link. http://msdn.microsoft.com/en-us/library/cc251708(v=prot.13) I don't have any problem then, Pierre. From: Pierre Pacchioni [mailto:[email protected]] Sent: 07 August 2012 17:28 To: '[email protected]' Subject: RE: wbemexec cim-xml and ws-man Ok my URI was wrong. This fix the problem: <a:To>http://localhost/wsman <http://localhost/wsman%3c/a:To> </a:To> <w:ResourceURI s:mustUnderstand="true">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CI M_PCIDevice <http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_PCIDevice%3c/w:Resour ceURI> </w:ResourceURI> <a:ReplyTo> But I received only the first "device" whereas the server (trace) shows that 23 instances will be returned: 1344352909s-117931us: Xml [4320:18446744073709551614:CIMResponseData.cpp:945]: CIMResponseData::_resolveToCIM(encoding=8,content=2) 1344352909s-119931us: WsmServer [4320:18446744073709551614:CimToWsmResponseMapper.cpp:403]: EnumerateInstances Returned 23 instances 1344352909s-121931us: WsmServer [4320:18446744073709551614:WsmResponseEncoder.cpp:418]: Encoder data size 1 1344352909s-121931us: WsmServer [4320:18446744073709551614:WsmResponseEncoder.cpp:64]: WsmResponseEncoder::sendResponse() 1344352909s-121931us: WsmServer [4320:18446744073709551614:WsmResponseEncoder.cpp:78]: WsmResponseEncoder::sendResponse()- response->getHttpCloseConnect() returned 0 1344352909s-121931us: Http [4320:18446744073709551614:HTTPConnection.cpp:391]: HTTPConnection::handleEnqueue - HTTP_MESSAGE 1344352909s-121931us: Http [4320:18446744073709551614:HTTPConnection.cpp:921]: HTTPConnection::_handleWriteEvent: Server write event. 1344352909s-121931us: XmlIO [4320:18446744073709551614:HTTPConnection.cpp:929]: <!-- Response: queue id: 19 --> HTTP/1.1 200 OK Do you have any idea? With WinRM I correctly received the 23 instances, Thanks and regards, Pierre. From: Pierre Pacchioni [mailto:[email protected]] Sent: 07 August 2012 17:14 To: [email protected] Subject: RE: wbemexec cim-xml and ws-man We can also contact our provider with WinRM: F:\Users\pacchioni\Workspace\DCNS\install\Windows\win32\HMC-1.0.0\pegasus\de bug\bin>winrm Enumerate http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ CIM_PCIDevice -username:wsman -password:secret -r:192.168.6.97:5988/wsman -auth:basic -encoding:utf-8 CIM_PCIDevice AdditionalAvailability = null Availability = 2 AvailableRequestedStates = null BaseAddress = 3818061828, 0, 0, 0, 32769, 0 BusNumber = 0 CacheLineSize = 0 Caption = This instance describes a PCI Device ClassCode = 12 CommandRegister = 3 CommunicationStatus = null CreationClassName = CIM_PCIDevice Description = Class 0c05 [32902:7202] Name: Device 1c22 | Vendor: Vendor 8086 | Subsystem: Device 1028:04a3 DetailedStatus = null DeviceID = 7202 DeviceNumber = 31 DeviceSelectTiming = 0 ElementName = Device 1c22 EnabledDefault = 2 EnabledState = 0 ErrorCleared = null ErrorDescription = null ExpansionROMBaseAddress = 0 FunctionNumber = 3 HealthState = null IdentifyingDescriptions = null InstallDate = null InstanceID = CIM:HMC InterruptPin = 3 LastErrorCode = null LatencyTimer = 0 MaxLatency = 0 MaxNumberControlled = null MaxQuiesceTime = null MinGrantTime = 0 Name = Device 1c22 OperatingStatus = null OperationalStatus = null OtherEnabledState = null OtherIdentifyingInfo = null PCIDeviceID = 7202 PowerManagementCapabilities = 1 PowerManagementSupported = false From: Pierre Pacchioni [mailto:[email protected]] Sent: 07 August 2012 16:47 To: [email protected] Subject: wbemexec cim-xml and ws-man 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.