Ip adresse finden.

Status
Nicht offen für weitere Antworten.

SchachFritz

Aktives Mitglied
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

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

Guest

Gast
erst mal danke für deine Hilfe.. .

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

Code:
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

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

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

Sorry...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben