Tôi đang sử dụng JAX-WS và tôi gặp sự cố khi truy xuất thông tin khách hàng đang sử dụng dịch vụ web. Tôi đã tìm ra cách thực hiện nó với JAX-RPC và Apache Tomcat Axis, nhưng không phải với JAX-WS. Có ai có ý tưởng về điều này không?Nhận địa chỉ IP của ứng dụng khách Đối với dịch vụ web
Trả lời
gì về điều này:
@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());
}
}
Hoặc này:
@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(); } }
Điều này không áp dụng cho REST chỉ? – Koekiebox
Lấy một gợi ý rất lớn và đánh giá cao từ Zayin và Darren của câu trả lời/chỉnh sửa, tôi đã cố gắng này, và nó hoạt động quá.
@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 không thể được xác định và không nhập được đề xuất, chính xác điều này là gì? –
@ 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. Nhận địa chỉ IP của khách hàng trong dịch vụ web RemObjects
- 2. Nhận địa chỉ IP của ứng dụng khách trong JSP
- 3. Cách nhận địa chỉ IP từ xa/khách hàng bằng dịch vụ web RESTful trong java?
- 4. Giới hạn truy cập dịch vụ web asmx đối với các địa chỉ IP cụ thể
- 5. Cách nhận địa chỉ ip của khách hàng/người dùng?
- 6. ServerSocket + client Socket - làm cách nào để nhận địa chỉ IP của ứng dụng khách?
- 7. Nhận địa chỉ IP của khách hàng ở Sinatra?
- 8. Địa chỉ IP của khách hàng trong ASP.NET (.asmx) webservices
- 9. Bảo mật WCF bằng địa chỉ IP của khách hàng
- 10. Nhận địa chỉ IP của người dùng
- 11. ONVIF: Cách tạo địa chỉ dịch vụ web của thiết bị từ địa chỉ IP của NVT
- 12. Có thể xác định chính xác địa chỉ IP của ứng dụng khách trong java servlet
- 13. Địa chỉ IP tĩnh cho dịch vụ đám mây Azure (Vai trò Web)
- 14. Dịch vụ web và ứng dụng web
- 15. Cách lấy địa chỉ IP của máy chủ ứng dụng
- 16. Tìm địa chỉ IP của ứng dụng khách trong phiên SSH
- 17. Làm cách nào để xác định địa chỉ IP của ứng dụng web (cho JSP)?
- 18. Nhận địa chỉ IP của khách hàng trong Dịch vụ WCF được lưu trữ bằng cách sử dụng các liên kết HTTPS 443
- 19. Cách: Dịch vụ Web và xử lý Thời gian chờ của ứng dụng khách trong Dịch vụ web?
- 20. Dịch vụ web miễn phí để xác định mã zip địa chỉ IP
- 21. Giới hạn IP đối với một thư mục ứng dụng web, trong IIS7
- 22. Tùy chọn chấp nhận chứng chỉ ứng dụng khách trong dịch vụ WCF tự lưu trữ
- 23. Nhận địa chỉ IP của khách hàng: REMOTE_ADDR, HTTP_X_FORWARDED_FOR, điều gì khác có thể hữu ích?
- 24. Làm cách nào để sử dụng giao thức PROXY để nhận địa chỉ IP thực của khách hàng?
- 25. Duyệt Web Site Với Địa chỉ IP Thay vì localhost
- 26. Nhận danh sách địa chỉ IP hữu hạn cho Ứng dụng Heroku của tôi?
- 27. Sử dụng địa chỉ IP tĩnh với Amazon EC2
- 28. Nhận địa chỉ IP bằng cách sử dụng Action Script?
- 29. Tạo dịch vụ web và ứng dụng khách với các loại được chia sẻ
- 30. Ứng dụng khách dịch vụ Web Applet, với Eclipse Indigo sử dụng Apache CXF,
Tôi nghĩ rằng tôi vừa bỏ qua chú thích @Resource. – monksy
Theo hiểu biết tốt nhất của tôi, đây là mô tả tốt nhất về cách thực hiện điều này trên toàn bộ web. ;) Cảm ơn bạn, Pascal! – Zakum
Tôi thử cùng nhưng mc kích thước 22 và "yêu cầu" là null. Tôi không thể hiểu tại sao, bạn có ý tưởng gì không? – luffy