public void invoke(final Endpoint endpoint, final Invocation wsInvocation) throws Exception {
try {
// prepare for invocation
this.onBeforeInvocation(wsInvocation);
final SessionBeanComponent ejbContainer = this.getEjb3Container();
final Method seiMethod = wsInvocation.getJavaMethod();
final Serializable sessionId = null; // Not applicable
// Interceptors 1.1 / EJB 3.1 FR 12.6
final Map<String, Object> contextData = getWebServiceContext(wsInvocation).getMessageContext();
// TODO: should we know it is MethodIntf.SERVICE_ENDPOINT?
final Class<?> invokedBusinessInterface = null;
final Method implMethod = ejbContainer.getComponentMethod(seiMethod);
final Object[] args = wsInvocation.getArgs();
// invoke method
final Object retObj = ejbContainer.invoke(sessionId, contextData, invokedBusinessInterface, implMethod, args);
wsInvocation.setReturnValue(retObj);
}
catch (Throwable t) {
this.log.error("Method invocation failed with exception: " + t.getMessage(), t);
this.handleInvocationException(t);