我试图用Ruby来使用Sharepoint webservices。我已经基本放弃尝试使用NTLM进行身份验证,并暂时将Sharepoint服务器更改为使用基本身份验证。我已经成功使用soap4r获得WSDL,但在尝试使用实际的Web服务调用时仍无法进行身份验证。Ruby/Rails和Sharepoint Web服务
有没有人有任何经验让红宝石和Sharepoint谈?
我试图用Ruby来使用Sharepoint webservices。我已经基本放弃尝试使用NTLM进行身份验证,并暂时将Sharepoint服务器更改为使用基本身份验证。我已经成功使用soap4r获得WSDL,但在尝试使用实际的Web服务调用时仍无法进行身份验证。Ruby/Rails和Sharepoint Web服务
有没有人有任何经验让红宝石和Sharepoint谈?
我是一个新手。但是经过很多时间和更多经验编码人员的帮助后,我能够使用Sharepoint 2010进行ruby工作。下面的代码需要'ntlm/mechanize'gem。
我已经能够使用列表GUID和列表视图GUID从指定列表(下面)下载sharepoint xml。
编辑(2011年5月23日)。我应该指出,这段代码需要ruby-ntlm gem。这是一个体面的链接,应该有所帮助。这绝对有效。
http://rubydoc.info/gems/ruby-ntlm/0.0.1/file/README.markdown
agent = Mechanize.new
agent.auth('domain\\USERNAME', 'PASSWORD')
page = agent.get('http://URL/DIRECTORY/SITE/LIST/_vti_bin/owssvr.dll?Cmd=Display&List={LIST_GUID}&View={VIEW_GUID}&XMLDATA=TRUE')
您是如何更改SP服务器以使用基本身份验证的?你只是通过IIS配置站点,还是通过SP Central Admin来完成?
如果您使用的是SP 2007/MOSS,则需要通过Central Admin进行更改;如果2003年,你需要通过IIS来完成。
请求失败时会出现什么错误?
这可能无济于事,但micorosoft刚刚发布Sharepoint和WSRP工具箱http://blogs.msdn.com/sharepoint/archive/2008/12/15/announcing-the-wsrp-toolkit-for-sharepoint.aspx,因为RoR支持该标准,它可能提供一种更简单的获取数据的方法。
真的吗?我找不到Rails支持WSRP的任何证据。 – 2008-12-17 21:57:20
不知何故,soap4r不支持NTLM,尽管httpclient不支持它。
当启用基本身份验证不是一个选项时,您可以考虑使用kerberos即协商身份验证方法。在SharePoint中启用,这是一个有点棘手,但基本上可以归结为做对服务器的命令行下面:
cscript adsutil.vbs set w3svc/1/NTAuthenticationProviders "Negotiate,NTLM"
它可能有似乎check this forum post for more info一些wird concequences。 最后,您需要在auth =而不是basic_auth =我认为在soap4r中设置身份验证。
请不要放在标题中“解决”,而是标志着一个答案,接受并投上一票(像你一样)。这是标准问题解决的正式方式。谢谢。 – 2012-03-15 19:52:19