Worklight上下文根未更新/如何在eclipse开发中重新部署worklight服务器

时间:2013-03-12 18:09:49

标签: ibm-mobilefirst

下午全部,

这是我的背景:

我正在使用适用于iPhone,Android和移动网络的App Envs设置现有的工作灯项目。

使用Worklight Console预览应用时,我只能从iPhone应用中获取上下文根错误。 (我收到错误:服务器无法处理来自应用程序的请求...)

当我打开浏览器JS控制台时,我发现问题是应用程序正在请求错误的上下文根。它正在访问/ worklight / context,而不是那里。

有效的contextroot如下:     HTTP://本地主机:8080 /应用/服务/ API / [APPNAME] / iphone /初始化

iphone试图触及的Context root:     HTTP://本地主机:8080 /工作灯/应用/服务/ API / [APPNAME] / iphone /初始化

这是奇怪的部分。上下文根适用于Android和移动Web环境。只有iPhone环境存在上下文根问题。

所有三种环境都共享相同的application-descriptor.xml文件和相同的服务器。

以下是一些文件输出。

以下文件:

/server/conf/worklight.properties

publicWorkLightHostname=localhost
publicWorkLightProtocol=http
publicWorkLightPort=8080
publicWorkLightContext=/worklight/

/应用/ [APPNAME] /application-descriptor.xml

<worklightServerRootURL>http://localhost:8080</worklightServerRootURL>

所以有几个问题。

1)设置上下文根时,客户端和服务器之间的关系是什么。上下文根源是否必须在两者之间匹配?一个人是主人而另一个人只是奴隶并且不需要设置吗?

2)(有些不相关)在调试此问题时,我遇到了关于如何在Eclipse开发中“取消部署”服务器的零文档。 (从IBM的文档中取消部署服务器)我需要知道在更改服务器设置(worklight.properties)时如何重新部署服务器。我已经看到了手动破解战争的引用,只是在IDE中停止并启动服务器。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您使用的是上下文根,则它必须同时存在于worklight.properties和application-descriptor.xml中。确保两者匹配,然后重新构建和部署,看看问题是否仍然存在。

使用Worklight的开发版时,您的服务器基于在Eclipse中运行的Jetty(它与您在Eclipse中安装的Worklight Studio插件捆绑在一起)。你不需要“取消部署”任何东西。只需对worklight.properties和application-descriptor.xml进行更改,然后重新构建应用程序。这些更改将进入服务器和客户端。

请注意,使用上下文根主要用于使用Tomcat,Liberty或WAS等应用程序服务器时。