我們正在使用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」,也沒有工作。
有什麼建議嗎?感謝