I'm not sure it'll be totally helpful. But the tutorial I wrote on
adding extra header using SOAP4R may point you in the right direction.

http://dan-webb.co.uk/wordpress/?p=13

SOAP4R was integrated in 1.8.6 but is an old and buggy version of it. So
you Hiro recommends you update it and use the newer version (1.5.8)


Cheers,
Dan


-----Original Message-----
From: Andrew Porter [mailto:partydrone / me.com] 
Sent: 27 March 2009 16:01
To: ruby-talk ML
Subject: Re: SOAP and NTLM Authentication

The example you give on your blog, like all the others I've seen,  
assumes the WSDL file is "in the open." In my case, I have to  
authenticate in order to even get to it. Your example creates the  
driver first, then adds authentication for subsequent requests. I  
can't even create the driver. The SOAP::WSDLDriverFactory.new() call  
fails every time with a 401, "Unauthorized" error.

Also, I'm using the SOAP libraries in Ruby 1.8.6. It's my  
understanding that soap4r was integrated into this version of Ruby. Am  
I mistaken?


On Mar 27, 2009, at 3:16 AM, Mark Thomas wrote:

> On Mar 26, 6:50 pm, Andrew Porter <partydr... / me.com> wrote:
>> [Note:  parts of this message were removed to make it a legal post.]
>>
>> I'm trying to integrate with Sharepoint Services, and need to connect
>> to the server using NTLM authentication. I can't get the following
>> lines of code to work:
>>
>> WSDL_URL =
'http://sharepoint.wavetronix.local/_vti_bin/lists.asmx?WSDL'
>> soap = SOAP::WSDLDriverFactory.new(WSDL_URL).create_rpc_driver
>>
>> I keep getting a 401, "Unauthorized" error. This code does work:
>>
>> client = HTTPClient.new
>> client.set_auth(nil, 'DOMAIN\username', 'password')
>> response = client.get(WSDL_URL)
>>
>> All examples I find show setting authorization properties AFTER the
>> create_rpc_driver call above. I need to authorize BEFORE so I can
>> actually access the WSDL file. How do I do this?
>
> http://markthomas.org/2007/09/12/getting-started-with-soap4r/
>