繁体   English   中英

Ruby / Rails和Sharepoint Web服务

[英]Ruby/Rails and Sharepoint Web Services

我正在尝试使用ruby来使用Sharepoint webservices。 我基本上放弃了尝试使用NTLM进行身份验证,并暂时更改了Sharepoint服务器以使用基本身份验证。 我已成功使用soap4r获取WSDL,但在尝试使用实际的Web服务调用时仍无法进行身份验证。

有没有人有过使用ruby和Sharepoint进行交流的经验?

我是个新手。 但是经过很多时间并且在更多经验编码器的帮助下,我能够使用Sharepoint 2010获得ruby。下面的代码需要'ntlm / mechanize'宝石。

我已经能够使用List GUID和List View 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')

soap4r不支持NTLM,尽管httpclient确实支持它。

当启用基本身份验证不是一个选项时,您可以考虑使用kerberos即协商auth方法。 在sharepoint中启用它有点棘手,但基本上归结为在服务器的命令行上执行以下操作:

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

它似乎有一些奇怪的后果, 请查看此论坛帖子了解更多信息 最后你需要在soap4r中设置身份验证,使用auth =而不是basic_auth =我认为。

您是如何更改SP服务器以使用Basic Auth的? 您是通过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支持该标准,它可以提供更简单的数据获取方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM