in src/main/java/org/apache/dubbo/proxy/worker/RequestWorker.java [59:81]
public void run() {
String serviceID = serviceDefinition.getServiceID();
String interfaze = Tool.getInterface(serviceID);
String group = Tool.getGroup(serviceID);
String version = Tool.getVersion(serviceID);
if (serviceDefinition.getParamTypes() == null && serviceDefinition.getParamValues() != null) {
String[] types = getTypesFromMetadata(serviceDefinition.getApplication(), interfaze, group, version,
serviceDefinition.getMethodName(), serviceDefinition.getParamValues().length);
serviceDefinition.setParamTypes(types);
}
Object result;
try {
result = GenericInvoke.genericCall(interfaze,group, version,
serviceDefinition.getMethodName(),
serviceDefinition.getParamTypes(), serviceDefinition.getParamValues());
} catch (Exception e) {
e.printStackTrace();
result = e;
}
if (!writeResponse(ctx, result)) {
ctx.writeAndFlush(Unpooled.EMPTY_BUFFER).addListener(ChannelFutureListener.CLOSE);
}
}