从本地连接到Cloudant DB时出现连接错误 [英] Connection error while connecting to cloudant DB from local

查看:78
本文介绍了从本地连接到Cloudant DB时出现连接错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Cloudant的新手。我已经编写了代码来连接cloudant数据库,它是bluemix中的DBaas

我已经在本地编写代码以连接cloudant DB。下面是代码

I am new to cloudant. I have written code to connect cloudant DB which is DBaas in bluemix. I have written code locally to connect cloudant DB. Below is the code

try {
            user="4728f43d-fcd2-41f0-be63-8945a78a9dab-bluemix";
            password="xxxxxxxxxxxxxxxx";
            url="https://4728f43d-fcd2-41f0-be63-8945a78a9dab-bluemix:xxxxxxxxxxxxxxxx@4728f43d-fcd2-41f0-be63-8945a78a9dab-bluemix.cloudant.com";

            System.setProperty("http.proxyHost", "9.184.9.13");
            System.setProperty("http.proxyPort", "80");

            //user="8452e722-8945-47d9-b372-ede45e55a7a7-bluemix";
            //password="xxxxxxxxxxxxxxxx";
            //url="https://8452e722-8945-47d9-b372-ede45e55a7a7-bluemix:xxxxxxxxxxxxxxxx@8452e722-8945-47d9-b372-ede45e55a7a7-bluemix.cloudant.com";

            CloudantClient client = ClientBuilder.account(user)
                    .username(user)
                    .password(password)
                    .build();
            return client;
        } catch (CouchDbException e) {
            throw new RuntimeException("Unable to connect to repository", e);
    }

我将应用程序本地部署在Web sphere应用程序Liberty配置文件上。
访问数据库连接时出现以下异常。请告诉我连接cloudant DB需要做什么。
我正在使用cloudant-client-2.2.0.jar来访问cloudant数据库

I deployed the application locally on web sphere application Liberty profile. While accessing db connection I am getting below exception. Please tell me what needs to be done to connect cloudant DB. I am using cloudant-client-2.2.0.jar to access cloudant DB

[ERROR   ] Failed to read cookie response header
Connection refused: connect
[ERROR   ] Failed to get response code from request
Connection refused: connect
[err] java.lang.RuntimeException: DB Not found
[err]   at com.ibm.util.CloudantClientMgr.getDB(CloudantClientMgr.java:106)
[err]   at com.ibm.dao.CloudantDaoImpl.getSiteList(CloudantDaoImpl.java:54)
[err]   at com.ibm.service.SocialKeyManagerImpl.getSiteList(SocialKeyManagerImpl.java:60)
[err]   at com.ibm.actions.BaseAction.execute(BaseAction.java:56)
[err]   at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
[err]   at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
[err]   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
[err]   at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
[err]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
[err]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[err]   at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1287)
[err]   at [internal classes]
[err]   at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
[err]   at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:207)
[err]   at [internal classes]
[err]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[err]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[err]   at java.lang.Thread.run(Thread.java:745)
[err] Caused by: com.cloudant.client.org.lightcouch.CouchDbException: Error retrieving server response
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.execute(CouchDbClient.java:535)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.executeToInputStream(CouchDbClient.java:550)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.put(CouchDbClient.java:361)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.put(CouchDbClient.java:351)
[err]   at com.cloudant.client.org.lightcouch.CouchDatabaseBase.create(CouchDatabaseBase.java:437)
[err]   at com.cloudant.client.org.lightcouch.CouchDatabaseBase.<init>(CouchDatabaseBase.java:61)
[err]   at com.cloudant.client.org.lightcouch.CouchDatabase.<init>(CouchDatabase.java:26)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.database(CouchDbClient.java:165)
[err]   at com.cloudant.client.api.CloudantClient.database(CloudantClient.java:216)
[err]   at com.ibm.util.CloudantClientMgr.getDB(CloudantClientMgr.java:103)
[err]   ... 37 more
[err] Caused by: java.net.ConnectException: Connection refused: connect
[err]   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[err]   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[err]   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[err]   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[err]   at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1676)
[err]   at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1674)
[err]   at java.security.AccessController.doPrivileged(Native Method)
[err]   at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1672)
[err]   at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1245)
[err]   at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
[err]   at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.execute(CouchDbClient.java:483)
[err]   ... 46 more
[err] Caused by: java.net.ConnectException: Connection refused: connect
[err]   at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
[err]   at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
[err]   at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
[err]   at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
[err]   at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
[err]   at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
[err]   at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
[err]   at java.net.Socket.connect(Socket.java:579)
[err]   at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
[err]   at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
[err]   at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
[err]   at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
[err]   at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
[err]   at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
[err]   at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
[err]   at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:933)
[err]   at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
[err]   at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1301)
[err]   at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
[err]   at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
[err]   at com.cloudant.http.interceptors.CookieInterceptor.interceptResponse(CookieInterceptor.java:102)
[err]   at com.cloudant.http.HttpConnection.execute(HttpConnection.java:244)
[err]   at com.cloudant.client.org.lightcouch.CouchDbClient.execute(CouchDbClient.java:475)
[err]   ... 46 more


推荐答案

您使用的代理设置适用于HTTP。使用 account 方法创建 CloudantClient 时,默认情况下它将通过HTTP使用HTTPS。使用HTTPS代理应该可以解决您的问题。

The proxy settings you are using are for HTTP. When creating a CloudantClient using the account method it will use HTTPS over HTTP by default. Using a HTTPS proxy should solve your problem.

这篇关于从本地连接到Cloudant DB时出现连接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆