Hello all,

I've been trying to get digest authentication working for soap calls for
two weeks now. All the examples I find seem to be flawed. Here's the
code that I'm using which is right out of the httpclient docs.

require 'httpclient'
require "soap/wsdlDriver"
require 'soap/rpc/driver'
require 'uri'

user = "admin"
pass = "pass"
wsdl = "http://someserver/file.wsdl"

driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
driver.instance_methods
driver.options["protocol.http.digest_auth"] <<
['http://someserver/SoapServer.php', user, pass]

info = driver.GetSystemInformation('')
puts info

I've changed the server url because I don't want to expose it's
location.

The error I get is:
c:/ruby/lib/ruby/1.8/soap/property.rb:269:in `check_lock': cannot add
any key to locked property (TypeError)
        from c:/ruby/lib/ruby/1.8/soap/property.rb:192:in
`local_referent'
        from c:/ruby/lib/ruby/1.8/soap/property.rb:230:in `referent'
        from c:/ruby/lib/ruby/1.8/soap/property.rb:106:in `[]'
        from C:/Documents and Settings/Administrator/Desktop/mxpua.rb:19

The line numbers in mxpua.rb won't match up, but I'm sure you guys see
where it's failing.

Any help with this would be great. I can't understand how all the
examples I find would all be wrong, but they all seem to use the same
process to add the digest auth information to the object.

Thanks for your help.

-Ryan
-- 
Posted via http://www.ruby-forum.com/.