【问题标题】:Mobilefirst - Android Sql adapter connection errorMobilefirst - Android Sql 适配器连接错误
【发布时间】:2015-01-06 09:00:10
【问题描述】:

我在我的 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 设备中发生的网络模拟器问题中运行良好。

用于数据库连接的适配器 XML

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

我的数据库 url 是公共 url 而不是 localhost(127.0.0.1) url。它在浏览器模拟器中完美运行

【问题讨论】:

  • 提供适配器 XML,可能是您指向“本地主机”,然后请求仍保留在适配器“内部”并且没有到达服务器。
  • 我将下面的适配器 XML 更新为我的问题
  • Android 模拟器怎么样。它在那里也失败了吗?
  • 另外,从日志中:“连接到 .. 超时” - 您是否编辑了这一行?里面写了什么?

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


【解决方案1】:

日志显示:

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

需要弄清楚它尝试连接到的位置。在你把它改成“..”之前是什么?

几种理论:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      • 2015-07-24
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多