# Ip adresse finden.



## SchachFritz (9. Mai 2006)

Guten Tag, 
ich benutze Apache Tomcat mit Axis. Ich muss irgendwie auf dem Server die IP addresse des Clients ermitteln, der das Web service ausgerufen hat. Ich nehme mal an dass dies über das HTTP möglich ist. Jedoch weiss ich nicht so recht wie ich das anstellen soll. Desweiteren bin ich doch bestimmt nicht der erste der sowas braucht. Demnach sollte eine solche Funktion doch auch bereits im Axis package enthalten sein.. 

Ich wäre froh wenn Ihr mir da weiterhelfen könntet.

Danke im Voraus. 

MfG


----------



## LordSam (9. Mai 2006)

```
MessageContext context = MessageContext.getCurrentContext();
if (context != null) {   
  HttpServletRequest req = (HttpServletRequest) context;
  String ip = req.getRemoteAddr();
  // voila...
}
```


----------



## Guest (9. Mai 2006)

erst mal danke für deine Hilfe.. .

ich bekomme dabei eine java.lang.ClassCastException: org.apache.axis.MessageContext


```
import javax.servlet.http.HttpServletRequest;
import org.apache.axis.MessageContext;
... 

private String getIPAddress()
{
    MessageContext context = MessageContext.getCurrentContext();
    if (context!=null)
    {
        HttpServletResponse req = (HttpServletResponse) context;
        return reg.getRemoteAddr();
    }
    else return null;
}
...
```

Weiss jemand woran das liegt?

Danke für eure Hilfe.


----------



## LordSam (9. Mai 2006)

ups, ja, das funzt natürlich nicht. So müsste es sein:


```
MessageContext context = MessageContext.getCurrentContext(); 
    if (context!=null) 
    { 
        HttpServletRequest req = (HttpServletRequest) context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
        return reg.getRemoteAddr(); 
    } 
    else return null;
```

Sorry...


----------

