使用Chemistry cmis连接到Alfresco存储库而不使用端口

时间:2016-10-17 13:47:49

标签: alfresco alfresco-webscripts apache-chemistry

我有一个要求,我需要使用下面的atompuburl连接到Alfresco存储库

https://www.myalfresco.com/alfresco/api/-default-/public/cmis/versions/1.1/atom

www.myalfresco.com是我的户外露面网址。

我使用下面的代码片段来获取露天的会话

public Session connectToRepository(String username,String password,String atompuburl)
    {
        // Create session.
        Session session = null;
        try
        {
            // Default factory implementation of client runtime.
            final SessionFactory sessionFactory = SessionFactoryImpl.newInstance();

            // prepare connection parameters
            final Map<String, String> connectionParameters = new HashMap<String, String>();

            // User credentials.
            connectionParameters.put(SessionParameter.USER,username);
            connectionParameters.put(SessionParameter.PASSWORD,password);

            // Connection settings.
            connectionParameters.put(SessionParameter.ATOMPUB_URL,atompuburl);
            connectionParameters.put(SessionParameter.BINDING_TYPE, BindingType.ATOMPUB.value());
            session = sessionFactory.getRepositories(connectionParameters).get(0).createSession();
        } catch (CmisConnectionException ce){
            System.out.println("CMIS error=========");
            ce.printStackTrace();
        } catch (CmisPermissionDeniedException cmisPermissionDeniedException)
        {

        }

我在atompul网址中使用上面提到的网址。

有没有办法连接到没有端口的Alfresco存储库(因为它没有提供给我)。

对于Chemistry Cmis,还有其他方法。

请帮助。

这是它给出的例外

org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Cannot access "https://www.myalfresco.com:443/alfresco/api/-default-/public/cmis/versions/1.1/atom": Connection timed out: connect at org.apache.chemistry.opencmis.client.bindings.spi.http.DefaultHttpInvoker.invoke(DefaultHttpInvoker.java:230) at org.apache.chemistry.opencmis.client.bindings.spi.http.DefaultHttpInvoker.invokeGET(DefaultHttpInvoker.java:57) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:641) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getRepositoriesInternal(AbstractAtomPubService.java:808) at org.apache.chemistry.opencmis.client.bindings.spi.atompub.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:65) at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryServiceImpl.getRepositoryInfos(RepositoryServiceImpl.java:90) at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:135) at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:112) at com.ge.test.CMISConnector.connectToRepository(CMISConnector.java:35) at com.ge.test.MyApp.main(MyApp.java:10) connected Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668) at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) at sun.net.NetworkClient.doConnect(NetworkClient.java:180) at sun.net.www.http.HttpClient.openServer(HttpClient.java:432) at sun.net.www.http.HttpClient.openServer(HttpClient.java:527) at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.apache.chemistry.opencmis.client.bindings.spi.http.DefaultHttpInvoker.invoke(DefaultHttpInvoker.java:205) ... 9 more

1 个答案:

答案 0 :(得分:1)

您的端口似乎是443,因为您的网址是&#34; https&#34;并且您没有指定端口,因此它必须是默认的SSL端口。

确保您可以通过curl或类似的HTTP客户端成功访问该URL。如果您不能这样做,请检查防火墙。另请检查您的SSL证书是否有效。