Соединение с alfresco cmis

Я пытаюсь подключиться к alfresco, используя параметры конфигурации, но получаю сообщение об ошибке:

Config: sessionParameters.put(SessionParameter.USER, "admin");
    sessionParameters.put(SessionParameter.PASSWORD, "admin");  
    sessionParameters.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/service/cmis");
    sessionParameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
    sessionParameters.put(SessionParameter.REPOSITORY_ID, "CIPBASE");
    sessionParameters.put(SessionParameter.AUTH_HTTP_BASIC, "true" );
    sessionParameters.put(SessionParameter.COOKIES, "true" );

Ошибка:

org.apache.chemistry.opencmis.commons.exceptions.CmisObjectNotFoundException: Not Found
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:499)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:701)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getRepositoriesInternal(AbstractAtomPubService.java:873)
    at org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:66)
    at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:92)
    at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:137)
    at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:114)
    at com.bvonesource.rsm.common.AlfrescoConnection.AlfrescoDument(AlfrescoConnection.java:71)
    at com.bvonesource.rsm.mgtbean.AdminManagement.MatrixMgtView.callAlfresco(MatrixMgtView.java:208)
    at com.bvonesource.rsm.mgtbean.AdminManagement.MatrixMgtView$$FastClassByCGLIB$$9e86b32e.invoke()
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
    at com.bvonesource.foundation.aspect.TracingAspect.invoke(TracingAspect.java:81)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:599)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:622)

Пожалуйста помоги..

Спасибо


person Mitesh Anand    schedule 04.08.2016    source источник
comment
Какую версию Alfresco вы используете? Возможно, это неправильный URL-адрес конечной точки CMIS.   -  person Gagravarr    schedule 04.08.2016
comment
Неверный URL службы, если только вы не используете ОЧЕНЬ старую версию Alfresco. В вики есть список URL-адресов сервисов: wiki.alfresco.com/wiki/CMIS# CMIS_Service_URL   -  person Jeff Potts    schedule 06.08.2016


Ответы (2)


Используйте следующий метод для получения сеанса

 public Session getSession() {
    if (session == null) {
        logger.info("Not connected, creating new connection");

        // default factory implementation
        SessionFactory factory = SessionFactoryImpl.newInstance();
        Map<String, String> parameter = new HashMap<String, String>();

        // user credentials
        parameter.put(SessionParameter.USER, "admin");
        parameter.put(SessionParameter.PASSWORD, "admin");

        // connection settings
        parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom"); 
        parameter.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); 

        List<Repository> repositories = factory.getRepositories(parameter);

        if (repositories != null && repositories.size() > 0) {
            logger.info("Found (" + repositories.size() + ") Alfresco repositories");
            this.session = repositories.get(0).createSession();
        } else {
            throw new CmisConnectionException("Could not connect to the Alfresco Server,"
                    + " no repository found!");
        }       
    }
    return this.session;
}
person Thirumal    schedule 05.08.2016

попробуй у меня это сработало

 private static Session getSession(String serverUrl, String username, String password) {
    SessionFactory sessionFactory = SessionFactoryImpl.newInstance();
    Map<String, String> params = new HashMap<String, String>();
    params.put(SessionParameter.USER, username);
    params.put(SessionParameter.PASSWORD, password);
    params.put(SessionParameter.ATOMPUB_URL, serverUrl);
    params.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
    List<Repository> repos = sessionFactory.getRepositories(params);
    if (repos.isEmpty()) {
        throw new RuntimeException("Server has no repositories!");
    }
    return repos.get(0).createSession();
}
person Yagami Light    schedule 04.08.2016
comment
ok serverUrl is serverUrl = http:// + ipAlfresco + /alfresco/api/-default-/public/cmis/versions/1.0/atom; а ipAlfresco например на моей локальной машине 127.0.0.1:8084 - person Yagami Light; 04.08.2016
comment
надеюсь, что помог вам - person Yagami Light; 04.08.2016
comment
Я использую 127.0.0.1:8080/alfresco/service/cmis, это не работающий.,. Должен ли я использовать ‹URL›/alfresco/api/-default-/public/cmis/versions/1.0/atom ???? - person Mitesh Anand; 04.08.2016
comment
сначала используйте ссылку, которую я вам предоставил, затем измените порт на 8084 - person Yagami Light; 04.08.2016
comment
Я попробовал это. путем изменения порта, а также URL-адреса, получая ошибку: org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: невозможно получить доступ 127.0.0.1:8084/alfresco/api/-default-/public/cmis/versions/1.0/: в соединении отказано: подключиться - person Mitesh Anand; 04.08.2016
comment
какая у тебя версия alfresco?!? - person Yagami Light; 04.08.2016
comment
Я установил версию Enterprise, 30-дневную пробную версию. - person Mitesh Anand; 04.08.2016
comment
возможно версия атома неправильная попробуйте 1.1 - person Yagami Light; 04.08.2016
comment
Как это проверить? - person Mitesh Anand; 04.08.2016
comment
просто замените 1.0 на 1.1 - person Yagami Light; 04.08.2016
comment
а как насчет вывода, это то же самое, даже если вы используете метод, который я вам дал?!? - person Yagami Light; 04.08.2016