public abstract class Invoker extends Object
invoke(java.lang.reflect.Method, java.lang.Object...)用于Web服务调用。
最后,Invoker在端点实例上实际调用Web服务。
容器还注入提供的WebServiceContext ,并在端点实现上调用javax.annotation.PostConstruct方法(如果存在)。
Provider.createEndpoint(String,
Class, Invoker, WebServiceFeature...)
public abstract void inject(WebServiceContext webServiceContext) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
WebServiceContext对象使用线程本地信息在实际端点调用期间返回正确的信息,而不管同时使用多少线程来提供请求。
webServiceContext -
webServiceContext的持有人
IllegalAccessException -
如果反射API完成的注入会抛出此异常
IllegalArgumentException -
如果由反射API完成的注入会抛出此异常
InvocationTargetException
- 如果反射API完成的注入会抛出此异常
public abstract Object invoke(方法 m, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
WebServiceContext.getMessageContext()给出了这个调用的正确信息。
m - 在服务上调用的方法
args - 方法参数
IllegalAccessException -
如果由反射API完成的调用抛出此异常
IllegalArgumentException -
如果由反射API完成的调用抛出此异常
InvocationTargetException
- 如果由反射API完成的调用抛出此异常
Method.invoke(java.lang.Object,
java.lang.Object...)