public abstract class Invoker extends Object
Invoker hides the detail of calling into application endpoint implementation. Container hands over an implementation of Invoker to JAX-WS runtime, and jax-ws runtime calls invoke(java.lang.reflect.Method, java.lang.Object...)
for a web service invocation. Finally, Invoker does the actual invocation of web service on endpoint instance. Container also injects the provided WebServiceContext
and takes care of invoking javax.annotation.PostConstruct
methods, if present, on the endpoint implementation.
Provider.createEndpoint(String, Class, Invoker, WebServiceFeature...)
public Invoker()
public abstract void inject(WebServiceContext webServiceContext) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
JAX-WS runtimes calls this method to ask container to inject WebServiceContext on the endpoint instance. The WebServiceContext
object uses thread-local information to return the correct information during the actual endpoint invocation regardless of how many threads are concurrently being used to serve requests.
webServiceContext
- a holder for MessageContextIllegalAccessException
- if the injection done by reflection API throws this exceptionIllegalArgumentException
- if the injection done by reflection API throws this exceptionInvocationTargetException
- if the injection done by reflection API throws this exceptionpublic abstract Object invoke(Method m, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
JAX-WS runtime calls this method to do the actual web service invocation on endpoint instance. The injected WebServiceContext.getMessageContext()
gives the correct information for this invocation.
m
- Method to be invoked on the serviceargs
- Method argumentsIllegalAccessException
- if the invocation done by reflection API throws this exceptionIllegalArgumentException
- if the invocation done by reflection API throws this exceptionInvocationTargetException
- if the invocation done by reflection API throws this exceptionMethod.invoke(java.lang.Object, java.lang.Object...)
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.