从 Worklight Client 代码中检测 Worklight Server 主机名/IP 地址
Posted
技术标签:
【中文标题】从 Worklight Client 代码中检测 Worklight Server 主机名/IP 地址【英文标题】:Detect Worklight Server Hostname/IP Address from Worklight Client code 【发布时间】:2013-05-27 19:14:05 【问题描述】:出于各种原因,我需要通过编程 javascript 从客户端代码访问 Worklight 服务器的主机名或 IP 地址。
例如: - 我想从与 Worklight 服务器相同的主机中提取脚本和资源 - 我在 Worklight 主机上有一个带外服务,我想连接到它
@IdanAdar 说该地址不存在。我搜索了 WL 对象,也找不到它。见Can we get the app version and IP address info using worklight api?。
请注意,作为原生应用运行时,document.location.hostname 为 null。
【问题讨论】:
【参考方案1】:我当前的解决方法是将 IP 地址/主机名设置为我的*** html 文件中的全局变量。这并不理想,因为它导致我的源代码必须因实现而异。
Worklight 已经在 application-descriptor.xml 中外部化了这个值
服务器端 API 在 WL.Server.configuration["local.IPAddress"] 中公开了这一点。我认为客户端也应该公开类似的 API。
【讨论】:
【参考方案2】:虽然不是最好的选择,但您可以开发一个返回 WL.Server.configuration["local.IPAddress"] 的适配器(如果可用),也可以通过 http 请求访问 IP。
Is it possible to access to the HTTPRequest in the worklight adapter implementation?
我不确定你是否可以在 wlCommonInit 之前调用适配器,如果你不能并且你需要在公共 init 之前的 ip,那么这种方法是没用的。
【讨论】:
以上是关于从 Worklight Client 代码中检测 Worklight Server 主机名/IP 地址的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight:WL.Client.getUserName 无法在身份验证后立即检索 userIdentity
IBM Worklight - 无法从客户端应用程序调用适配器过程
Worklight 中用于加密(客户端)和解密(服务器/适配器)的 API