obtenir IP du client pour le service Web sur java 6 embarqué serveur http
-
20-09-2019 - |
Question
Je suis un service web de mise en œuvre sur Java 6 lumière de poids (embbeded) serveur HTTP JAX-WS-web-services-sans-java-ee-conteneurs - à des fins de test -
Je veux obtenir l'adresse IP du client pour chaque demande.
J'ai essayé de déclarer le contexte de service Web dans ma classe de service Web:
@Resource
WebServiceContext wsContext;
utilisez son contexte de message dans la méthode web:
MessageContext msgx = wsContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)msgx.get(MessageContext.SERVLET_REQUEST);
System.out.println(request.getRemoteAddr()); ---->>> NULLPointerException
mais, il me donne NULL HTTP demande.
J'ai utilisé la même manière mais avec SOAP Handler, mais le même problème: ((
Y at-il un moyen de le faire, s'il vous plaît ??
Merci d'avance ,,,
La solution
J'ai utilisé la même idée, mais avec peu de changement:
MessageContext msgx = wsContext.getMessageContext();
HttpExchange exchange = (HttpExchange)msgx.get("com.sun.xml.internal.ws.http.exchange");
System.out.println(exchange.getRemoteAddress().getAddress());
Merci ,,,
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow