Mobilefirst - Android Sql适配器连接错误

时间:2015-01-06 09:00:10

标签: android ibm-mobilefirst mobilefirst-adapters mobilefirst-server

我在mobilefirst混合应用程序中使用SQL适配器。 Login和所有其他Sql适配器在我的网络模拟器中完美运行。

我刚刚尝试将此应用程序安装到Android设备并在我的设备中执行登录操作,此时我的LogCat(通过USB安装的应用程序)中出现以下错误。我通过USB和.apk文件安装了应用程序。在两种情况下,我的登录功能无法在我的Android设备中使用。

ERROR:

Request timeout for [/apps/services/api/projectfolder/android/query]

WLNativeXHRPlugin$NativeXHRPostListener.onException in WLNativeXHRPlugin.java:154 :: onException

org.apache.http.conn.ConnectTimeoutException: Connect to .. timed out

at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:121)

at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144)

at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)

at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:670)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:509)

at com.worklight.wlclient.WLHybridRequestSender.run(WLHybridRequestSender.java:63)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)

at java.lang.Thread.run(Thread.java:856)

Android设备通过WIFI连接到同一网络。此应用程序在Android设备中发生的Web模拟器问题中完美运行。

适配器XML用于数据库连接

<dataSourceDefinition>
                <driverClass>com.mysql.jdbc.Driver</driverClass>
                <url>jdbc:mysql://databaseurl:3306/batabasename</url>
                <user>username</user>
                <password>password</password> 
            </dataSourceDefinition>

我的数据库网址是公共网址,而不是localhost(127.0.0.1)网址。它完美地在浏览器模拟器中工作

2 个答案:

答案 0 :(得分:0)

日志显示:

  

org.apache.http.conn.ConnectTimeoutException:连接到...超时

需要弄清楚它尝试连接的位置。你把它改成&#34; ..&#34;?

之前有什么

几种理论:

  1. 如果您指向localhost,请将其更改为IP地址
  2. 如果您有多个IP地址,请确保使用服务器使用的正确IP地址(您可以尝试禁用任何网卡,只留下1个,这样您将只有1个IP地址;服务器应自动选择它,也可以用于适配器。

答案 1 :(得分:0)

尝试重新启动手机!这解决了我的问题。