【问题标题】:how set dynamically the worklight server如何动态设置工作灯服务器
【发布时间】:2013-03-01 10:38:49
【问题描述】:

我的问题是:我可以动态更改 worklight 服务器 url(使用 javascript)吗?求答案。


感谢您的回答!这是我的代码:

函数 loadXMLDoc(dname) { 如果(窗口.XMLHttpRequest) { xhttp=新的 XMLHttpRequest(); } 别的 { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(); 返回 xhttp.responseXML; } 函数 wlCommonInit(){ xmlDoc=loadXMLDoc("/BadgeSYSmProj/apps/BadgeSysApp/application-descriptor.xml"); x=xmlDoc.getElementsByTagName("worklightServerRootURL")[0].childNodes[0]; x.nodeValue="http:\\NEW URL.html"; document.write(x.nodeValue); ... ...

但是有一个错误:

加载资源失败:服务器响应状态为 404 (ProxyServlet: /BadgeSYSmProj/apps/BadgeSysApp/application-descriptor.xml) http**://localhost:8080/apps/services/preview/BadgeSysApp/ common/0/default/js/BadgeSysApp.js 未捕获的类型错误:无法调用 null 的方法“getElementsByTagName”

【问题讨论】:

  • 如果服务器 url 发生变化,应用程序应该自动连接到它
  • 到时候这会让我觉得生产环境的配置很奇怪......?

标签: javascript xml ibm-mobilefirst


【解决方案1】:

不,你不能。 WL 服务器 URL 是在您构建应用程序时硬编码在您的应用程序中的。它取自 application-descriptor.xml 文件(worklightServerRootURL 元素)并注入到每个环境中。

【讨论】:

  • 好的,tnks!我可以用 js 编辑 application-descriptor.xml 文件吗?
  • 没有。 application-descriptor.xml 在构建时而不是运行时使用。
【解决方案2】:

是的,您可以在每次想要更改 URL 时编辑 application-descriptor.xml 并创建一个新的构建。更好的是根据 worklight.properties.{env} 中提到的 URL 生成 .wlapp 包的构建脚本。这将有助于促进跨环境的 Worklight 部署

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多