Подключение через CMIS (dotCMIS) к SP2010: исключение неавторизованное

Я использую dotCMIS и хотел бы просто подключиться к моему серверу SP2010. Я пытаюсь сделать это с помощью С#, как здесь 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


person sabisabi    schedule 08.06.2012    source источник


Ответы (2)


Ваш AtomPubUrl выглядит подозрительно. Я не могу сказать, добавили ли вы этот заполнитель, чтобы скрыть реальный URL-адрес, или это фактический URL-адрес, который вы используете. Если это фактический URL-адрес, похоже, что в нем отсутствует путь к служебному документу AtomPub. Чтобы определить, так ли это, вы должны быть в состоянии вызвать URL-адрес, войти в систему и получить обратно пакет XML, который является дескриптором службы CMIS. Если вместо этого вы получаете страницу, обращенную к пользователю, полную HTML, вы используете неправильный URL-адрес.

Например, в Alfresco пользователи входят в /share, но привязка AtomPub находится в /alfresco/cmisatom.

person Jeff Potts    schedule 27.06.2012

Да, AtomPubUrl был неправильным.

Для sharepoint недостаточно опубликовать URL-адрес sp по умолчанию (http://mysharepoint) или URL-адрес библиотеки cmis (http://mysharepoint/cmis). Мне нужно указать идентификатор репозитория, каким-то образом конечная точка sp для CMIS:

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

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

Как-то это сбивало с толку, но работает :) dotCMIS действительно хорош.

person sabisabi    schedule 28.06.2012