37 lines
1.1 KiB
Ruby
37 lines
1.1 KiB
Ruby
# subscribe.rb
|
|
# generate listing 9 of http://www.ibm.com/developerworks/webservices/library/ws-CIM/index.html
|
|
|
|
require 'test/unit'
|
|
require 'rexml/document'
|
|
require File.join(File.dirname(__FILE__),'_loadpath')
|
|
require 'openwsman'
|
|
require 'auth-callback'
|
|
require '_client'
|
|
|
|
class WsmanTest < Test::Unit::TestCase
|
|
def test_client
|
|
Openwsman.debug = -1
|
|
client = Client.open
|
|
assert client
|
|
client.transport.timeout = 5
|
|
puts "Connected as #{client.user}:#{client.password}"
|
|
|
|
options = Openwsman::ClientOptions.new
|
|
assert options
|
|
options.set_dump_request # dump XML request
|
|
options.add_selector( Openwsman::CIM_NAMESPACE_SELECTOR, "root/interop" )
|
|
# subscription expires after 120 seconds
|
|
options.sub_expiry = 120
|
|
# Default would be 'Push'
|
|
options.delivery_mode = Openwsman::WSMAN_DELIVERY_PULL
|
|
options.delivery_uri = "http://127.0.0.1:80/eventsink"
|
|
uri = Openwsman::CIM_ALL_AVAILABLE_CLASSES
|
|
filter = Openwsman::Filter.new
|
|
filter.wql("SELECT * FROM CIM_ProcessIndication")
|
|
|
|
result = client.subscribe( options, filter, uri )
|
|
# assert result
|
|
|
|
end
|
|
end
|