Worklight SQL Adapter部署

时间:2013-04-10 14:22:27

标签: android sql ibm-mobilefirst

我开始使用适配器,我可以在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适配器:

connection.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以验证连接。

1 个答案:

答案 0 :(得分:0)

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

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

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