我开始使用适配器,我可以在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以验证连接。
答案 0 :(得分:0)
这与SQL适配器无关。 这里的实际问题是您无法将设备连接到Worklight Server。
要使设备连接到Worklight Server,服务器和设备都必须共享同一网络。
在命令窗口中,运行ipconfig
并复制您提供的IPv4地址。将此IP地址粘贴为文件application-descriptor.xml(位于yourProject \ apps \ yourApp下)中worklightServerRootURL
的值。