Apache Chemistry — Java: случайное несанкционированное исключение при загрузке документов в SharePoint 2010

У меня есть служба, которая подключается из Lotus Notes к SharePoint 2010 и загружает документы в формате PDF.

Я заметил, что при выполнении более крупного задания из ~ 14 000 документов каждые 5–10 минут выдается исключение «Несанкционированное», что заставляет мой код останавливаться и возобновлять загрузку.

Я использую atompub и ntlm для входа в формате [домен] [имя пользователя].

Нужно ли обновлять сеанс перед каждым созданием документа? Включить файлы cookie? Может быть, я истекаю тайм-аутом. Есть предположения?


person Brlja    schedule 25.04.2014    source источник
comment
Что-нибудь полезное в журналах SharePoint? Если вы переключите его на загрузку на другой сервер CMIS, например, Alfresco, пройдет ли это без ошибок?   -  person Gagravarr    schedule 26.04.2014


Ответы (1)


Это связано с аутентификацией NTLM. Включение файлов cookie устраняет проблему, но я бы порекомендовал другой метод аутентификации.

person Florian Müller    schedule 26.04.2014
comment
Я попробую с куки и дам вам знать. - person Brlja; 26.04.2014
comment
Я включил куки, но это мало помогло. Однако, когда код изменяется не для прерывания процесса, а для пропуска документа, следующий документ загружается без ошибок. Таким образом, кажется, что соединение обновляется. Есть ли способ ручного восстановления соединения в CmisUnauthorizedException? - person Brlja; 29.04.2014
comment
Проблема в том, что первый запрос POST через новый сокет не работает с NTML. Технически было бы возможно отправить запрос HEAD или GET перед каждым POST, но это было бы дополнительным накладным расходом, и OpenCMIS не поддерживает это. Очень маловероятно, что OpenCMIS когда-либо будет полностью поддерживать NTML, потому что NTMLv1 считается небезопасным. Вам действительно следует подумать о другом методе аутентификации. - person Florian Müller; 29.04.2014
comment
Под другим вы подразумеваете Стандарт? Бывают НЕТ, NTLM и СТАНДАРТ. Будет ли стандартная аутентификация работать с Sharepoint 2010, 2013 и Alfresco? - person Brlja; 29.04.2014
comment
Есть еще одна проблема. Пользователи домена. Если в домене есть сервер SharePoint, то все зарегистрированные пользователи автоматически входят в систему. Я даже могу войти через CMIS с пустыми учетными данными. Как я могу убедиться, что соединение действительно выполняется обычным/стандартным методом? Я спрашиваю об этом, потому что я могу установить стандартную аутентификацию, но я не уверен, что это будет иметь какой-либо эффект, и потенциально может повторить Неавторизованное исключение. - person Brlja; 29.04.2014
comment
Стандартная аутентификация — это базовая аутентификация HTTP. Kerberos — еще один вариант, но его очень сложно настроить. OpenCMIS также позволяет подключить ваш собственный код аутентификации, но это то, что вы должны реализовать самостоятельно. - person Florian Müller; 30.04.2014