Mobilefirst - ошибка подключения адаптера Android Sql

Я использую адаптер SQL в своем гибридном мобильном приложении. Логин и все другие адаптеры 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-адресом, а не URL-адресом localhost (127.0.0.1). Он отлично работает в симуляторе браузера


person Team    schedule 06.01.2015    source источник
comment
Предоставьте XML-код адаптера, возможно, вы указываете на localhost, а запросы остаются внутри адаптера и не достигают сервера.   -  person Idan Adar    schedule 06.01.2015
comment
Я обновил приведенный ниже XML-код адаптера на свой вопрос.   -  person Team    schedule 06.01.2015
comment
Как насчет эмулятора Android. Там тоже не получается?   -  person Idan Adar    schedule 06.01.2015
comment
Дополнительно из лога: Connect to.. time out - вы эту строчку редактировали? что там было написано?   -  person Idan Adar    schedule 06.01.2015


Ответы (2)


Журнал показывает:

org.apache.http.conn.ConnectTimeoutException: время ожидания подключения к .. истекло

Нужно выяснить, куда он пытался подключиться. Что было до того, как вы изменили его на «..»?

Несколько теорий:

  1. Если вы указываете на локальный хост, измените его на IP-адрес.
  2. Если у вас несколько IP-адресов, убедитесь, что вы используете правильный, используемый сервером (можно попробовать отключить любые сетевые карты, оставив только 1, чтобы у вас был только 1 IP-адрес; сервер должен автоматически выбрать его, используйте это для адаптера, а также.
person Idan Adar    schedule 06.01.2015

Попробуйте перезагрузить мобильный телефон! Это решило проблему для меня.

person Magnus    schedule 28.01.2015