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 ,,,

Était-ce utile?

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
scroll top