我们正在使用WL6.2开发混合应用程序。在我们的适配器,我们有这样的代码:在Worklight适配器上获取客户端IP地址
var request = WL.Server.getClientRequest();
var IPAddress = request.getHeader('X-Archieved-Client-IP');
if(IPAddress == null || IPAddress == undefined || IPAddress == "") {
IPAddress = request.getHeader('X-Archieved-Client-IP');
}
if(IPAddress == null || IPAddress == undefined || IPAddress == "") {
IPAddress = request.getRemoteAddr();
}
if(IPAddress == null || IPAddress == undefined || IPAddress == "") {
//This will never happen, only for precaution.
IPAddress = "192.168.1.1";
}
commonParams.originatingIp = (IPAddress)?IPAddress:request.getRemoteAddr();
我不能让适配器上的客户端IP地址,以及我们的网络服务只看到这是数据功率IP.And在日志中一个IP地址我将我们的数据电源IP地址视为“orginatingIP”。这意味着"getRemoteAddr()"
正在执行。
<OriginatingIP>DataPowerIP</OriginatingIP>
如果我不停的代码只有这部分:
我得到价值为 “零”。
<OriginatingIP>null</OriginatingIP>
我也试过这个解决方案“IBM Worklight 6 - How would i get client IP address on adapter side”,也没有工作。
有什么建议吗?感谢