Веб-сервисы Ruby / Rails и Sharepoint - PullRequest
6 голосов
/ 16 декабря 2008

Я пытаюсь использовать веб-сервисы Sharepoint с помощью ruby. В основном я прекратил попытки аутентификации с NTLM и временно изменил сервер Sharepoint для использования базовой аутентификации. Я успешно получил WSDL с использованием soap4r, но все еще не могу аутентифицироваться при попытке использовать реальный вызов веб-службы.

Кто-нибудь имел опыт общения с рубином и Sharepoint?

Ответы [ 4 ]

4 голосов
/ 17 марта 2011

Я абсолютный новичок. Но через некоторое время и с некоторой помощью большего количества опытных программистов мне удалось получить ruby ​​для работы с Sharepoint 2010. Для кода ниже требуется гем 'ntlm / mechanize'.

Мне удалось загрузить xml sharepoint из списков, указанных (ниже), используя GUID списка и GUID представления списка.

Изменить (23 мая 2011 г.). Я должен был указать, что этот код требует гем ruby-ntlm. Вот достойная ссылка, которая должна помочь. Это определенно работает.

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')
1 голос
/ 23 июня 2009

NTLM каким-то образом не поддерживается soap4r, даже если httpclient его поддерживает.

Если включить базовую аутентификацию нельзя, вы можете использовать kerberos, т. Е. Согласовать метод аутентификации. Включение этого в sharepoint немного сложно, но в основном сводится к выполнению следующих действий в командной строке сервера:

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

Может показаться странным, проверьте это сообщение на форуме для получения дополнительной информации . Наконец, вам нужно установить аутентификацию в soap4r с auth = вместо basic_auth = я думаю.

1 голос
/ 16 декабря 2008

Как вы изменили сервер SP для использования Basic Auth? Вы только что настроили сайт через IIS или SP Central Admin?

Если вы используете SP 2007 / MOSS, вам нужно изменить его через Central Admin; если 2003, вам нужно сделать это через IIS.

Какую ошибку вы получаете при сбое запроса?

0 голосов
/ 17 декабря 2008

Это может не помочь, но micorosoft просто выпустит инструментарий для Sharepoint и WSRP, http://blogs.msdn.com/sharepoint/archive/2008/12/15/announcing-the-wsrp-toolkit-for-sharepoint.aspx,, поскольку RoR поддерживает этот стандарт, он может обеспечить более простой способ получения данных.

...