自用:
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import com.sun.net.httpserver.HttpExchange;
import com.sun.xml.internal.ws.developer.JAXWSProperties;
@Resource
private WebServiceContext wsContext;
private void getClientInfo() {
try {
MessageContext mc = wsContext.getMessageContext();
HttpExchange exchange = (HttpExchange) mc.get(JAXWSProperties.HTTP_EXCHANGE);
InetSocketAddress isa = exchange.getRemoteAddress();
System.out.println("InetSocketAddress : " + isa);
System.out.println("Hostname : " + isa.getAddress().getHostName()
+ " address: " + isa.getAddress().getHostAddress());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
本文介绍了一种通过Java代码从WebService上下文中获取客户端信息的方法。利用`WebServiceContext`和`MessageContext`等API,可以实现对远程客户端地址及主机名等信息的读取。
4431

被折叠的 条评论
为什么被折叠?



