通过CMIS(dotCMIS)连接到SP2010:未经授权的例外

时间:2012-06-08 00:48:03

标签: c# apache sharepoint cmis dotcmis

我正在使用dotCMIS,并希望与我的SP2010服务器进行简单的连接。我试图在第一部分使用C#这样http://chemistry.apache.org/dotnet/getting-started-with-dotcmis.html

所以我有这样的事情:

    Dictionary<string, string> parameters = new Dictionary<string, string>();
    parameters[SessionParameter.BindingType] = BindingType.AtomPub;
    parameters[SessionParameter.AtomPubUrl] = "http://mysharepoint";
    parameters[SessionParameter.User] = "SPAdmin";
    parameters[SessionParameter.Password] = "1234sharepoint";

    SessionFactory factory = SessionFactory.NewInstance();
    ISession session = factory.GetRepositories(parameters)[0].CreateSession(); //exception unathorized

但我总是例外:DotCMIS.Expcetions.CmisRunterimException: Unathorised

有什么想法吗?通过浏览器,我可以使用相同的用户/通行证登录该网站,这可能不是问题所在。起初我因为NTLM问题(https://issues.apache.org/jira/browse/CMIS-531)而对其进行了解决,但即使我使用parameters[SessionParameter.AuthenticationProviderClass] = "DotCMIS.Binding.NtlmAuthenticationProvider";它也是同一个异常。好吧......这个例外并没有真正帮助我。我希望我能获得更多信息 - 也许有更好的方法?我还能尝试什么?谢谢!

PS:是的,在我开始使用dotCMIS之前,我确实安装并配置了MS CMIS连接器:http://technet.microsoft.com/en-us/library/ff934619.aspx

2 个答案:

答案 0 :(得分:2)

您的AtomPubUrl看起来很可疑。我不知道这是否是您添加的占位符,以掩盖真实的URL或者这是您正在使用的实际URL。如果是实际的URL,则看起来它缺少AtomPub服务文档的路径。要判断是否是这种情况,您应该能够调用URL,登录并获取一堆XML,这是CMIS服务描述符。如果您正在获得一个充满HTML的面向用户的页面,那么您使用的是错误的URL。

例如,在Alfresco中,用户登录/共享,但AtomPub绑定位于/ alfresco / cmisatom。

答案 1 :(得分:1)

是的AtomPubUrl错了。

对于sharepoint,它不足以将默认的sp url(http://mysharepoint)或url发布到cmis lib(http://mysharepoint/cmis) 我需要指向存储库id,不知何故CMIS的sp端点是:

http://mysharepoint/_vti_bin/<myLib4CMIS>/<repID>?getRepositoryInfo

http://technet.microsoft.com/en-us/library/ff934619.aspx

不知怎的,它令人困惑,但它的工作:) dotCMIS非常好。