Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm mobilefirst Worklight上下文根目录未更新/如何在eclipse dev中重新部署Worklight server_Ibm Mobilefirst - Fatal编程技术网

Ibm mobilefirst Worklight上下文根目录未更新/如何在eclipse dev中重新部署Worklight server

Ibm mobilefirst Worklight上下文根目录未更新/如何在eclipse dev中重新部署Worklight server,ibm-mobilefirst,Ibm Mobilefirst,下午好, 以下是我的背景: 我正在使用适用于IPhone、Android和移动Web的App Envs设置一个现有worklight项目 当使用Worklight控制台预览应用程序时,我仅从iPhone应用程序中获取上下文根错误。(我得到错误:服务器无法处理来自appl的请求…) 当我打开浏览器JS控制台时,我看到问题是应用程序请求了错误的上下文根。它正在访问不存在的/worklight/context 有效的contextroot如下所示: http://localhost:8080/apps

下午好,

以下是我的背景:

我正在使用适用于IPhone、Android和移动Web的App Envs设置一个现有worklight项目

当使用Worklight控制台预览应用程序时,我仅从iPhone应用程序中获取上下文根错误。(我得到错误:服务器无法处理来自appl的请求…)

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

有效的contextroot如下所示: 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>
http://localhost:8080
有几个问题

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

2) (有些不相关)在调试这个问题时,我没有遇到任何关于如何在Eclipse开发环境中“取消部署”服务器的文档。(IBM文档中的“取消部署服务器”是正确的)我需要知道在更改服务器设置(worklight.properties)时如何重新部署服务器。我看到过一些关于手动打开war、在IDE中停止和启动服务器的引用


非常感谢您的帮助。

如果您使用的是上下文根目录,则它必须同时存在于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 http://[IP_HERE]:8080
是否仅使用/property来设置没有上下文根?谢谢,ChrisI也尝试了这些更改,对整个项目进行了全面清理和重建,然后在应用程序本身上进行了构建和部署。然而,我仍然看到iphone应用程序在模拟器中使用worklight的上下文根。还有其他想法吗?这是在OSX上。这些更改是可以的,是的。在Eclipse中重建应用程序后,让suer在Xcode中打开更新后的项目。您的问题现在已经回答了吗?请把它标记成这样。谢谢