Bonjour,

j'ai créé un service web en utilisant l'IDE Eclipse (Luna), le serveur Tomcat 8 et l'outil Axis 2. Il s'agit du service le plus simple qui effectue la somme de deux entiers. Pour cela, j'ai créé en java une classe 'AddOperator' qui définit le service et dont le contenu est le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
public class AddOperator {
	public int add (int x,int y){
		return x+y;
 
	}

j'ai créé aussi un client qui consomme le service en question à l'aide de la classe 'AddClientOpp' et dont le code est le suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class AddClientOpp {
 
	public static void main(String[] args) throws RemoteException  {
		AddOperatorStub stub = new AddOperatorStub();
 
		Add add = new Add();
		add.setX(25);
		add.setY(30);
 
 
		System.out.println(stub.add(add).get_return());
 
         }
}


j'ai testé, et ça marche très bien.

maintenant, j'ai besoin de récupérer l'adresse IP du client qui a consommé mon service web. J'ai cherché et j'ai trouvé quelques méthodes et portions de codes qui permette de le faire, telles que:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
import javax.servlet.http.HttpServletRequest;
 
	//...
 
	private static String getClientIp(HttpServletRequest request) {
 
        String remoteAddr = "";
 
        if (request != null) {
            remoteAddr = request.getHeader("X-FORWARDED-FOR");
            if (remoteAddr == null || "".equals(remoteAddr)) {
                remoteAddr = request.getRemoteAddr();
            }
        }
 
        return remoteAddr;
    }
ou encore:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
import java.net.*;
import java.io.*;
import java.applet.*;
 
public class GetClientIP extends Applet {
  public void init() {
    try {
     InetAddress Ip =InetAddress.getLocalHost();
     System.out.println("IP:"+Ip.getHostAddress());
     }
    catch(Exception e) {
     e.printStackTrace();
     }
    }
}

mais je ne sais pas où dois-je intégrer ces portion de codes ou ces méthodes au niveau de mon processus de création de service web décrit plus haut!!
Si quelqu'un a une réponse, prière de me tenir au courant.
Merci.