-1

I am trying to connect alfresco using config parameters but i am getting error:

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" );

Error is:

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)

Please help..

Thanks

logi-kal
  • 7,107
  • 6
  • 31
  • 43
Mitesh Anand
  • 133
  • 1
  • 8
  • What version of Alfresco are you using? That might not be the right CMIS endpoint URL – Gagravarr Aug 04 '16 at 12:05
  • Wrong service URL unless you are using a VERY old version of Alfresco. There is a list of service URLs on the wiki here: https://wiki.alfresco.com/wiki/CMIS#CMIS_Service_URL – Jeff Potts Aug 05 '16 at 22:45

2 Answers2

1

Use the following method to get session

 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;
}
Thirumal
  • 8,280
  • 11
  • 53
  • 103
0

try this worked fine for me

 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();
}
Yagami Light
  • 1,756
  • 4
  • 19
  • 39