Я хочу предоставить свой собственный метод-перехватчик для моих вызовов веб-сервиса. По сути, этот метод-перехватчик должен вызываться непосредственно перед , когда вызывается реальный метод ... См. Фрагмент ниже:
public class MyMethodInterceptor {
public Object invoke(Object t, Method m, Object[] args) throws Throwable {
// do some magic, such as tracing, authorise, etc...
return m.invoke(t, args);
}
}
// ....
public class MyWebServiceImpl implements MyWebServiceInterface {
public String greet(final String name) {
return "Hi there, " + name;
}
}
Идея состоит в том, что каждый раз, когда веб-сервис вызывается, он будет передаваться через мой перехватчик. Я смотрел, как подключить свой собственный InstanceResolver
, но он выходит из-под контроля. Я знаю, как сделать это в CXF и с JAX-RS (Джерси) + Guice.
JAX-WS предоставляет handler-chains
, но эти обработчики вызываются слишком рано (т. Е. Задолго до вызова метода), поэтому у меня нет необходимой информации на данный момент.
Каков наилучший способ сделать это с помощью Референовой реализации JAX-WS?