6


4

私はrubyでSharepointウェブサービスを消費しようとしています。 私は基本的にNTLMによる認証をやめ、基本認証を使うようにSharepointサーバーを一時的に変更しました。 私はsoap4rを使用してWSDLを取得することに成功しましたが、それでも実際のWebサービス呼び出しを使用しようとすると認証できません。

誰かがルビーとSharepointを話す経験がありますか?

4 Answer


4


私は全くの初心者です。 しかし、長い時間と経験を積んだコーダーの助けを借りて、私はRubyをSharepoint 2010と連携させることができました。 以下のコードは 'ntlm / mechanize' gemを必要とします。

リストGUIDとリストビューGUIDを使用して、指定されたリスト(下記)からsharepoint xmlをダウンロードできました。

編集(2011年5月23日) このコードにはruby-ntlm gemが必要であることを指摘しておくべきです。 これは役立つはずのまともなリンクです。 これは間違いなくうまくいきます。

agent = Mechanize.new agent.auth( 'ドメイン\\ユーザー名'、 'パスワード')page = agent.get( 'http://URL/DIRECTORY/SITE/LIST/_vti_bin/owssvr.dll?Cmd =表示


1


基本認証を使用するようにSPサーバーを変更した理由は何ですか? IISを介してサイトを設定しただけですか、それともSP Central Adminを介して設定しましたか?

SP 2007 / MOSSを使用している場合は、Central Adminで変更する必要があります。 2003年の場合は、IISを介して行う必要があります。

要求が失敗したときにどのようなエラーが発生しますか?


1


NTLMはsoap4rではどういうわけかサポートされていませんが、httpclientはそれをサポートしています。

基本認証を有効にすることが選択肢ではない場合は、Kerberosを使用することを検討できます。 認証方法をネゴシエートします。 これをsharepointで有効にするのは少し面倒ですが、基本的にはサーバーのコマンドラインで次のことを行うことになります。

cscript adsutil.vbs set w3svc / 1 / NTAuthenticationProviders "ネゴシエート、NTLM"
http://www.issociate.de/board/post/4918/Kerberos_not_being_used,_only_NTLM_-_Login_failed_for_user_'(null)'.html[詳細はこのフォーラム投稿をチェック] 最後に、basic_auth =ではなくauth =でsoap4rの認証を設定する必要があります。


0


これは助けにはならないかもしれませんが、micorosoftは単にSharepointとWSRPのためのツールキットhttp://blogs.msdn.com/sharepoint/archive/2008/12/15/announcing-the-wsrp-toolkit-for-sharepoint.aspxをリリースしました。 RoRはその標準をサポートしているので、データを取得するためのより簡単な方法を提供できます。