6

ruby で SharePoint Web サービスを利用しようとしています。基本的に NTLM での認証をあきらめ、Sharepoint サーバーを一時的に基本認証を使用するように変更しました。soap4r を使用して WSDL を取得することに成功しましたが、実際の Web サービス呼び出しを使用しようとすると認証できません。

ruby と Sharepoint をやり取りさせた経験のある人はいますか?

4

4 に答える 4

4

私はまったくの初心者です。しかし、多くの経験を積み、経験豊富なコーダーの助けを借りて、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')
于 2011-03-17T19:44:38.817 に答える
1

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

基本認証を有効にするオプションがない場合は、kerberos、つまりネゴシエート認証方法の使用を検討できます。sharepoint でこれを有効にするのは少しトリッキーですが、基本的にはサーバーのコマンドラインで次のことを行うことになります。

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

詳細については、このフォーラムの投稿を確認してください。最後に、basic_auth= の代わりに auth= を使用して、soap4r で認証を設定する必要があります。

于 2009-06-23T14:35:59.337 に答える
1

Basic 認証を使用するように SP サーバーをどのように変更しましたか? IIS 経由でサイトを構成しただけですか、それとも SP Central Admin 経由で構成しましたか?

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

リクエストが失敗すると、どのようなエラーが発生しますか?

于 2008-12-16T20:01:47.280 に答える
0

これは役に立たないかもしれませんが、micorosoft は Sharepoint と WSRP 用のツールキットをリリースするだけです RoR はその標準をサポートしており、データを取得するためのより簡単な方法を提供できます。

于 2008-12-17T15:15:21.617 に答える