views:

1326

answers:

4

I'm trying to consume Sharepoint webservices with ruby. I've basically given up trying to authenticate with NTLM and temporarily changed the Sharepoint server to use basic authentication. I've been successful getting a WSDL using soap4r but still cannot authenticate when attempting to use an actual web service call.

Has anyone had any experience getting ruby and Sharepoint to talk?

Thanks, Kevin

+1  A: 

How did you change the SP server to use Basic Auth? Did you just configure the site via IIS, or did you do it through SP Central Admin?

If you're using SP 2007/MOSS, you need to change it via Central Admin; if 2003, you need to do it via IIS.

What error do you get when the request fails?

Greg Hurlman
A: 

Thanks, that helped. That and working with the lists' guid instead of the title.

Kevin Colyar
A: 

This may not help but micorosoft just release the toolkit for Sharepoint and WSRP, http://blogs.msdn.com/sharepoint/archive/2008/12/15/announcing-the-wsrp-toolkit-for-sharepoint.aspx, since RoR supports that standard it may provide an easier method of getting the data.

Will Dieterich
Really? I can't find any evidence of Rails supporting WSRP.
Kevin Colyar
+1  A: 

NTLM is not supported by soap4r somehow, eventhough httpclient does support it.

When enabling basic auth is not an option, you could consider using kerberos i.e. negotiate auth method. Enabling this in sharepoint is a bit tricky, but basically comes down to doing the following on the commandline of the server:

cscript adsutil.vbs set w3svc/1/NTAuthenticationProviders "Negotiate,NTLM"

It might have some wird concequences it seems, check this forum post for more info. Finally you need to set the authentication in soap4r with auth= instead of basic_auth= i think.

Arthur