Pierre Pacchioni | 7 Aug 2012 16:47
Picon
Favicon

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\debug\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\debug\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\debug\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.

 

Pierre Pacchioni | 7 Aug 2012 17:14
Picon
Favicon

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\debug\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:ppacch <at> yahoo.com]
Sent: 07 August 2012 16:47
To: pegasus-l <at> openpegasus.org
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\debug\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\debug\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\debug\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.

 

Pierre Pacchioni | 7 Aug 2012 17:27
Picon
Favicon

RE: wbemexec cim-xml and ws-man

Ok my URI was wrong. This fix the problem:

 

<a:To>http://localhost/wsman</a:To>

  <w:ResourceURI s:mustUnderstand="true">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_PCIDevice</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:ppacch <at> yahoo.com]
Sent: 07 August 2012 17:14
To: pegasus-l <at> openpegasus.org
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\debug\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:ppacch <at> yahoo.com]
Sent: 07 August 2012 16:47
To: pegasus-l <at> openpegasus.org
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\debug\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\debug\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\debug\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.

 

Pierre Pacchioni | 7 Aug 2012 17:36
Picon
Favicon

RE: wbemexec cim-xml and ws-man

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:ppacch <at> yahoo.com]
Sent: 07 August 2012 17:28
To: 'pegasus-l <at> openpegasus.org'
Subject: RE: wbemexec cim-xml and ws-man

 

Ok my URI was wrong. This fix the problem:

 

<a:To>http://localhost/wsman</a:To>

  <w:ResourceURI s:mustUnderstand="true">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_PCIDevice</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:ppacch <at> yahoo.com]
Sent: 07 August 2012 17:14
To: pegasus-l <at> openpegasus.org
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\debug\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:ppacch <at> yahoo.com]
Sent: 07 August 2012 16:47
To: pegasus-l <at> openpegasus.org
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\debug\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\debug\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\debug\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.

 


Gmane