Estoy usando JAX-WS y tengo problemas para recuperar la información del cliente que está consumiendo un servicio web. Descubrí cómo hacerlo con JAX-RPC y Apache Tomcat Axis, pero no con JAX-WS. ¿Alguien tiene una idea sobre esto?Obtener la dirección IP de un cliente Para un servicio web
Respuesta
Qué tal esto:
@WebService
public class MyService {
@Resource
WebServiceContext wsContext;
/**
* Web service operation
*/
@WebMethod
public String myMethod() {
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST);
System.out.println("Client IP = " + req.getRemoteAddr());
}
}
O esto:
@Path("terminal") public class terminal { @Context private javax.servlet.http.HttpServletRequest hsr; @GET @Path("get_ip") @Produces("text/plain") public String get_ip() { return ip = hsr.getRemoteAddr(); } }
¿Esto no es aplicable solo a REST? – Koekiebox
Tomando una pista enorme y apreciar a partir de Zain y de Darren respuesta/editar, he intentado esto, y funciona también.
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("ip")
public String sayIP(@Context HttpServletRequest req, @QueryParam("p1") String p1, ...) {
return req.getRemoteAddr();
}
public String getIp(@Context HttpServletRequest req) {
return req.getRemoteHost();
}
@Context no se puede identificar, y no se sugiere importar, ¿qué es esto exactamente? –
@ united-expression, https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/core/Context.html, https://jersey.java.net/documentation/ latest/jaxrs-resources.html –
- 1. Obtener la dirección IP del cliente en un servicio WCF alojado utilizando los enlaces HTTPS 443
- 2. ¿Cómo puedo determinar la dirección IP de un cliente web (para un JSP)?
- 3. cómo obtener la dirección MAC de un cliente de HttpServlet?
- 4. Obtener dirección IP de clientes en un servicio web de RemObjects
- 5. ¿Cómo obtener la dirección IP del cliente de escritorio remoto?
- 6. Cómo obtener la dirección IP del cliente usando jQuery
- 7. Rieles: obtenga la dirección IP del cliente
- 8. Obtener la dirección IP del cliente en JSP
- 9. Obtener la dirección IP del cliente en Sinatra?
- 10. cliente web para servicio web
- 11. WICKET: cómo obtener la dirección/ip del cliente
- 12. Apache Mina: cómo obtener la IP de un cliente conectado
- 13. Obtener mi dirección de IP
- 14. Cómo obtener la dirección IP de sockaddr
- 15. ¿Cómo obtengo la dirección remota de un cliente en servlet?
- 16. ¿Cómo obtener la dirección IP?
- 17. Obtener la dirección IP de los visitantes
- 18. Obtener la dirección IP de un socket remoto Endpoint
- 19. Seguridad WCF utilizando la dirección IP del cliente
- 20. Longitud máxima dirección IP del cliente
- 21. Detección de la dirección IP del cliente y del servidor
- 22. Servicio web gratuito para determinar el código postal de la dirección IP
- 23. ¿Cómo obtener la dirección IP del servidor?
- 24. ¿Cómo obtengo la dirección IP del cliente usando TcpClient?
- 25. ¿Cómo identificar la dirección IP del cliente solicitante?
- 26. Búsqueda de la dirección IP del cliente conectado a través de un proxy
- 27. Dirección IP del cliente en ASP.NET (.asmx) webservices
- 28. ¿Cómo crear un cliente Java para el servicio web?
- 29. Dirección IP en un MaskedTextBox?
- 30. Obtener la dirección IP 'externa' en Java
creo que acaba de perder la anotación @Resource. – monksy
Según mi leal saber y entender, esta es la mejor descripción de cómo hacerlo en toda la red. ;) Gracias, Pascal! – Zakum
Intento lo mismo, pero mc tamaño 22 y "solicitud" es nulo. No puedo entender por qué, ¿tienes alguna idea? – luffy