// copied from superclass
if (AopUtils.isToStringMethod(methodInvocation.getMethod())) {
return "RMI invoker proxy for service URL [" + getServiceUrl() + "]";
}
RemoteInvocation remoteInvocation = createRemoteInvocation(methodInvocation);
// Attribute Provides
for (RemoteInvocationAttributeProvider attributeProvider : getRemoteInvocationAttributeProviders()) { //JVM 1.5
remoteInvocation.addAttribute(attributeProvider.getAttributeName(), attributeProvider.getAttributeValue(remoteInvocation, null));
}
Object result = invocationHandler.invoke(remoteInvocation);
if (result instanceof RemoteInvocationResultWrapper) {
RemoteInvocationResultWrapper resultWrapper = (RemoteInvocationResultWrapper)result;
// Attribute Consumers
for (RemoteInvocationAttributeConsumer attributeConsumer : getRemoteInvocationAttributeConsumers()) { //JVM 1.5
attributeConsumer.consume(remoteInvocation.getArguments(), resultWrapper.getAttribute(attributeConsumer.getAttributeName()));
}
return resultWrapper.getReturnValue();
}
return result;
}