下午所有,
这是我的背景:
我正在使用适用于 iPhone、Android 和 Mobile Web 的 App Envs 设置现有工作灯项目。
使用 Worklight Console 预览应用程序时,我仅从 iPhone 应用程序中得到上下文根错误。(我收到错误:服务器无法处理来自应用程序的请求...)
当我打开浏览器 JS 控制台时,我看到问题是应用程序请求了错误的上下文根。它正在访问不存在的 /worklight/ 上下文。
确实有效的上下文根如下:http://localhost:8080/apps/services/api/[APPNAME]/iphone/init
iphone 试图命中的上下文根目录:http://localhost:8080/worklight/apps/services/api/[APPNAME]/iphone/init
这是奇怪的部分。上下文根适用于 Android 和移动 Web 环境。只有 iPhone 环境存在上下文根问题。
所有三个环境都共享相同的 application-descriptor.xml 文件和相同的服务器。
下面是一些文件输出。
以下文件:
/server/conf/worklight.properties
publicWorkLightHostname=localhost
publicWorkLightProtocol=http
publicWorkLightPort=8080
publicWorkLightContext=/worklight/
/apps/[APPNAME]/application-descriptor.xml
<worklightServerRootURL>http://localhost:8080</worklightServerRootURL>
所以有几个问题。
1)设置上下文根时,客户端和服务器之间的关系是什么。上下文根是否必须在两者之间匹配?一个是主人,另一个只是奴隶,不需要设置吗?
2)(有点不相关)在调试这个问题时,我遇到了关于如何在 Eclipse 开发中“取消部署”服务器的零文档。(取消部署服务器就在 IBM 的文档中)当我更改服务器设置 (worklight.properties) 时,我需要知道如何重新部署服务器。我看到过手动破解战争的参考,只是在 IDE 中停止和启动服务器。
任何帮助是极大的赞赏。