0

我开始使用适配器,并且能够在 Android 模拟器中运行我的应用程序,但它在我的 Android 平板设备中失败了。

我尝试将 application-descriptor.xml localhost 更改为 172.16.19.135:8080 但仍然失败并显示以下错误消息:

“[http://172.16.19.135:8080/apps/services/api/PrototypesDojo/android/query] 的请求超时”

在我的 Worklight 项目中,我在 HTML 中有一个带有onClick调用的按钮。我称之为 SQL 适配器。

这是我的 SQL 适配器:

连接.xml

<displayName>connexion</displayName>
<description>connexion</description>
<connectivity>
    <connectionPolicy xsi:type="sql:SQLConnectionPolicy">
        <!-- Example for using a JNDI data source, replace with actual data source 
            name -->
        <!-- <dataSourceJNDIName>java:/data-source-jndi-name</dataSourceJNDIName> -->

        <!-- Example for using MySQL connector, do not forget to put the MySQL 
            connector library in the project's lib folder -->
        <dataSourceDefinition>
            <driverClass>com.mysql.jdbc.Driver</driverClass>
            <url>jdbc:mysql://worklight:3306/test</url>
            <user>root</user>
            <password>myRootPassword</password>
        </dataSourceDefinition>
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="5" />
</connectivity>

<!-- Replace this with appropriate procedures -->
<procedure name="authentification" />
<procedure name="creerCompte" />

连接-impl.js

var requeteStatement = WL.Server
        .createSQLStatement("select login,password from compte where login = ? and password = ?");


function authentification(login, password) {

    return WL.Server.invokeSQLStatement({
        preparedStatement : requeteStatement,
        parameters : [ login, password ]
    });
}

错误:

[http://172.16.19.135:8080/apps/services/api/PrototypesDojo/android/query] 主机没有响应。尝试通过 android 模拟器浏览器手动访问 URL 以验证连接性。

4

1 回答 1

0

这与 SQL 适配器无关。这里的实际问题/问题是您无法将您的设备连接到 Worklight Server。

为了使设备连接到 Worklight Server,服务器和设备都必须共享同一个网络。

在命令窗口中,运行ipconfig并复制给定的 IPv4 地址。将此 IP 地址粘贴为worklightServerRootURL文件 application-descriptor.xml(位于 yourProject\apps\yourApp 下)中的值。

于 2013-04-11T04:23:52.747 回答