Если вы используете JAX-WS API, вы можете использовать WebServiceContext
для извлечения метаданных сообщения. Просто вставьте ссылку в вашу реализацию:
@WebService(name = "MyService" /*...*/)
public class MyService {
@Resource
private WebServiceContext wsc;
@WebMethod
public MyResponse process(MyRequest request) {
HttpServletRequest httpRequest = (HttpServletRequest) wsc.getMessageContext().get(MessageContext.SERVLET_REQUEST);
httpRequest.getRemoteAddr(); // access some parameters...
return new MyResponse();
}
}
Он позволяет вам получить доступ ко «всему», пришедшему через HTTP-запрос, например, к адресу вызывающего абонента.