2012-03-03 12 views
4

私はAlfrescoから始めています。私はAlfresco 4 Community Editionをインストールしましたが、OpenCMISを使用して接続しようとしています。私はOpenCMISページからコードのこのスニペットを取った:CMISでAlfrescoに接続

SessionFactory sessionFactory = SessionFactoryImpl.newInstance(); 
    Map<String, String> parameter = new HashMap<String, String>(); 
    parameter.put(SessionParameter.USER, "admin"); 
    parameter.put(SessionParameter.PASSWORD, "admin"); 
    parameter.put(SessionParameter.ATOMPUB_URL, 
      "http://repo.opencmis.org/inmemory/atom/"); 
    parameter.put(SessionParameter.BINDING_TYPE, 
      BindingType.ATOMPUB.value()); 
    parameter.put(SessionParameter.REPOSITORY_ID, 
       ""); 

    Session s = sessionFactory.createSession(parameter); 

しかし、私はリポジトリIDとどのようにのAlfrescoのURLを指定することであるべきかを見つけることができませんでした。誰かが私にそれを説明できますか?ありがとうございました。

答えて

12

TL; DR:CMIS specから

// User credentials. 
parameters.put(SessionParameter.USER, "admin"); 
parameters.put(SessionParameter.PASSWORD, "admin"); 

// Connection settings. 
parameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value()); 
parameters.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/service/cmis"); // URL to your CMIS server. 
parameters.put(SessionParameter.AUTH_HTTP_BASIC, "true"); 
parameters.put(SessionParameter.COOKIES, "true"); 

// Create session. 
// Alfresco only provides one repository. 
Repository repository = sessionFactory.getRepositories(parameters).get(0); 
Session session = repository.createSession(); 

は、アプリケーションが取得するためにCMIS「"リポジトリの取得」「サービス (getRepositories)を使用する必要があります利用可能なリポジトリのリスト そのエンドポイントで

リポジトリIDは、CMISリポジトリによって生成された不透明な文字列です。また、単一のCMISサーバが複数のリポジトリをホストすることもできます(ただし、Alfrescoは当面は1つしかサポートしません)。

リポジトリIDは、インスタンスごとに異なります。したがって、IDが再生成されるクリーンなデータベースから新たに開始する場合は、ハードコードされたレポID。

リポジトリIDの検出は、サービス文書によってAtomPubバインディングで可能になり、WebサービスバインディングのcmisRepositoryEntryTypeによって可能になります。

+0

ありがとうございました! :) –

+0

Alfresco 3を使用している場合は、 'http:// localhost:8080/alfresco/s/api/cmis'を' ATOMPUB_URL'として使用してください。 – vegemite4me

関連する問題