2015-04-22 1 views
1

Мы разрабатываем гибридное приложение с использованием WL6.2. В нашем адаптере мы имеем следующий код:Получить 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-адрес, который является IP.And мощности данных в журналах Я вижу, что наш IP-адрес для передачи данных является «orginatingIP». что означает, что выполняется "getRemoteAddr()".

<OriginatingIP>DataPowerIP</OriginatingIP> 

Если бы я сохранил только эту часть кода:

Я получаю значение, как "нулевой".

<OriginatingIP>null</OriginatingIP> 

Я попытался также это решение «IBM Worklight 6 - How would i get client IP address on adapter side» тоже не работает.

любые предложения, пожалуйста? спасибо

ответ

2

Я буду обновлять адаптер в качестве последующего

var request = WL.Server.getClientRequest(); 

var ipAddress = request.getHeader('x-client-ip'); 

switch(ipAddress){ 
    case "": 
    case null: 
    case undefined: 
    //This will never happen, only for precaution. 
    ipAddress = "192.168.1.1"; 
    break; 
} 

С этого постом https://developer.ibm.com/answers/questions/10123/how-do-you-get-the-original-ip-doing-the-request-to-your-bluemix-app.html это выглядит, как вы должны использовать x-client-ip вместо использования X-Archieved-Client-IP

Смежные вопросы