Ошибка входа в репозиторий Sharepoint 2013 с использованием openCMIS Workbench
Используя OpenCMIS Workbench 0.8.0, я могу нормально загрузить репозитории sharepoint 2013 (GA), но при попытке войти в один из репозиториев, таких как Documents, появляется следующая ошибка:
"Недопустимый аргумент: один или несколько входных параметров для метода службы отсутствуют или недействительны"
Нашел блог с некоторыми инструкциями, но он не работал для меня: http://dhartford.blogspot.com/2013/01/sharepoint-2013-w-apache-chemistry-cmis.html?showComment=1359398536275
Примечание. Вот формат URL-адреса службы, который я использую: http://myserver.xxx.com/MYSITE/cmis/_vti_bin/cmis/rest?getRepositories
Кто-нибудь знает, в чем проблема?
Вот трассировка стека от Workbench:
> 11:05:17 DEBUG ncmis.client.bindings.spi.http.HttpUtils: GET http://MYServer/_vti_bin/cmis/rest/f8134afe-176a-4c48-9fd2-a9f97e5dc91d?getTypeDefinition&typeId=cmis%3Adocument
> 11:05:17 TRACE ncmis.client.bindings.spi.http.HttpUtils: GET http://MYServer/_vti_bin/cmis/rest/f8134afe-176a-4c48-9fd2-a9f97e5dc91d?getTypeDefinition&typeId=cmis%3Adocument > Headers: {null=[HTTP/1.1 400 One or more of the input parameters to the service method is missing or invalid.], Server=[Microsoft-IIS/7.5], SPRequestDuration=[124], SPIisLatency=[27], X-FRAME-OPTIONS=[SAMEORIGIN], Content-Type=[plain/text; charset=utf-8], Date=[Wed, 30 Jan 2013 19:05:02 GMT], X-SharePointHealthScore=[1], Cache-Control=[private], X-Content-Type-Options=[nosniff], X-Powered-By=[ASP.NET], X-MS-InvokeApp=[1; RequireReadOnly], request-id=[5ef0f99b-24ec-909f-6192-6eaf6feccabc], Content-Length=[167], MicrosoftSharePointTeamServices=[15.0.0.4420], SPRequestGuid=[5ef0f99b-24ec-909f-6192-6eaf6feccabc], X-AspNet-Version=[4.0.30319]}
> 11:05:17 ERROR hemistry.opencmis.workbench.ClientHelper: CmisInvalidArgumentException: One or more of the input parameters to the service method is missing or invalid.
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: One or more of the input parameters to the service method is missing or invalid.
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:423)
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:554)
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getTypeDefinitionInternal(AbstractAtomPubService.java:821)
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getTypeDefinition(RepositoryServiceImpl.java:88)
at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getTypeDefinition(RepositoryServiceImpl.java:137)
at org.apache.chemistry.opencmis.client.runtime.SessionImpl.getTypeDefinition(SessionImpl.java:518)
at org.apache.chemistry.opencmis.workbench.model.ClientSession.createOperationContexts(ClientSession.java:244)
at org.apache.chemistry.opencmis.workbench.model.ClientSession.createSession(ClientSession.java:195)
at org.apache.chemistry.opencmis.workbench.LoginDialog$2.actionPerformed(LoginDialog.java:204)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2006)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2329)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:398)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:253)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:247)
> 11:05:17 ERROR hemistry.opencmis.workbench.ClientHelper: Error code: 0
Еще одна вещь, которую я заметил, это то, что ни один из URL-адресов из служебного документа не работает, когда я использую их из браузера. Так что я думаю, что у сервисного документа нет действительных URL.
5 ответов
У меня не было времени, чтобы опубликовать решение, но вот в основном то, что я должен был сделать после получения помощи от Microsoft. Я пропустил Шаг B ниже:
A. Активируйте функцию CMIS для своего подузла
- Перейти в центр администрирования Sharepoint 2013
- Нажмите на ссылку Сайты, а затем нажмите на свой суб-сайт. Или перейдите непосредственно к нему. например, http://myserver/mysitename
- Нажмите на значок "Настройки" (справа вверху) и выберите "Настройки сайта".
- В разделе Действия сайта нажмите Управление функциями сайта.
- Нажмите Активировать для производителя CMIS.
Б. Проверьте сопоставления альтернативного доступа
- Перейти на страницу центра администрирования
- В разделе "Системные настройки" нажмите "Настроить сопоставления альтернативного доступа".
- Должно быть не менее двух URL. Один с коротким именем сервера и один с полным именем сервера.
- Если URL отсутствует, нажмите Добавить внутренние URL-адреса.
- Для коллекции сопоставлений альтернативного доступа щелкните ссылку Нет выбора, измените и выберите:
- SharePoint - 80
- Установите URL-адрес, такой как http://myserver.usa.com/ (полное доменное имя)
- Зона установки: любая, например, Интранет
- Нажмите Сохранить
Попробуйте последнюю версию CMIS Workbench: https://repository.apache.org/content/repositories/orgapachechemistry-166/org/apache/chemistry/opencmis/chemistry-opencmis-workbench/0.9.0-beta-1/chemistry-opencmis-workbench-0.9.0-beta-1-full.zip
Мое предложение будет:
- запустите Workbench, пока не входите
- закрыть всплывающее окно подключения
- откройте окно журнала кнопкой в правом верхнем углу
- увеличить уровень записи до DEBUG или более подробный
- попробуйте подключиться
- проверьте логи еще раз, возможно разместив их здесь
Фактический корень проблемы оказался отсутствующим сопоставлением альтернативного доступа. Не уверен, почему его не было в первую очередь.
Поэтому я добавил внутренний URL-адрес, который содержит полный адрес сервера, а не просто краткое имя. Разработчик Microsoft помог мне понять это.
Удалите все настройки прокси из Internet Explorer перед запуском OpenCMIS, а также сбросьте все настройки прокси всей системы: netsh winhttp reset proxy
Убедитесь, что ваше веб-приложение точки доступа настроено на прием только базовой аутентификации, как описано в сообщении блога, которое вы упомянули
Удаление прокси из IE и всей системы решило мою проблему. Теперь я могу войти в sharepoint 2013, используя OpenCMIS
ах, прежде чем я забуду, синтаксис URL должен быть http://server:port/_vti_bin/cmis/rest/?getRepositories
Удачи