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...)