BindingOperationInfo oi = dispatcher.getBindingOperation(method, endpoint); if (oi == null) { Message msg = new Message("NO_BINDING_OPERATION_INFO", LOG, method.getName());
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (client == null) { throw new IllegalStateException("The client has been closed."); } if (method.getDeclaringClass().equals(Object.class) || method.getDeclaringClass().equals(Closeable.class)) { return method.invoke(this); } else if (method.getDeclaringClass().isInstance(client)) { return method.invoke(client, args); } MethodDispatcher dispatcher = (MethodDispatcher)endpoint.getService().get(MethodDispatcher.class .getName()); BindingOperationInfo oi = dispatcher.getBindingOperation(method, endpoint); if (oi == null) { throw new Fault(new Message("NO_OPERATION_INFO", LOG, method.getName())); } Object[] params = args; if (null == params) { params = new Object[0]; } Object o = invokeSync(method, oi, params); //call a virtual method passing the object. This causes the IBM JDK //to keep the "this" pointer references and thus "this" doesn't get //finalized in the midst of an invoke operation return adjustObject(o); } protected Object adjustObject(Object o) {
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (client == null) { throw new IllegalStateException("The client has been closed."); } if (method.getDeclaringClass().equals(Object.class) || method.getDeclaringClass().equals(Closeable.class)) { return method.invoke(this); } else if (method.getDeclaringClass().isInstance(client)) { return method.invoke(client, args); } MethodDispatcher dispatcher = (MethodDispatcher)endpoint.getService().get(MethodDispatcher.class .getName()); BindingOperationInfo oi = dispatcher.getBindingOperation(method, endpoint); if (oi == null) { throw new Fault(new Message("NO_OPERATION_INFO", LOG, method.getName())); } Object[] params = args; if (null == params) { params = new Object[0]; } Object o = invokeSync(method, oi, params); //call a virtual method passing the object. This causes the IBM JDK //to keep the "this" pointer references and thus "this" doesn't get //finalized in the midst of an invoke operation return adjustObject(o); } protected Object adjustObject(Object o) {
BindingOperationInfo oi = dispatcher.getBindingOperation(method, endpoint); if (oi == null) { Message msg = new Message("NO_BINDING_OPERATION_INFO", LOG, method.getName());