【问题标题】:Worklight context root not updating / How to redeploy worklight server in eclipse devWorklight 上下文根未更新/如何在 Eclipse 开发中重新部署 Worklight 服务器
【发布时间】:2013-03-12 18:09:49
【问题描述】:

下午,

这是我的上下文:

我正在使用适用于 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 中停止和启动服务器。

非常感谢任何帮助。

【问题讨论】:

    标签: ibm-mobilefirst


    【解决方案1】:

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

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

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

    【讨论】:

    • 好的,谢谢你的解释。我试图通过进行以下更改来删除上下文根。 #worklight.properties publicWorkLightHostname=[IP_HERE] publicWorkLightProtocol=http publicWorkLightPort=8080 publicWorkLightContext=/ #application-descriptor.xml &lt;worklightServerRootURL&gt;http://[IP_HERE]:8080&lt;/worklightServerRootURL&gt; 是否仅使用 / 正确设置无上下文根?谢谢,克里斯
    • 我也尝试了这些更改,对整个项目进行了全面清理和重建,然后在应用程序本身上进行了构建和部署。但是,我仍然看到模拟器中的 iphone 应用程序正在使用 worklight 的上下文根。还有其他想法吗?这是在 OSX 上。
    • 这些更改没问题,是的。在 Eclipse 中重建应用程序后,请在 Xcode 中打开更新的项目。
    • 您的问题现在回答了吗?请这样标记。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多