code: private Object invoke(Class<?> objClass, Object obj, String methodName, String[] argTypes,
              Object[] args, String appId, String token) throws RpcException {
          Object res;
          try {
              MethodDescriptor<String> desc = serviceLocator
                      .getServiceDescriptor(new MethodWrapper(objClass.getName(), methodName,
                              StringUtil.toString4Array(argTypes)).toString());
              if (desc == null) {
                  throw new MethodNotFoundException(String.format(
                          "Service method not found. class=%s, method=%s, argTypes=%s", objClass,
                          methodName, StringUtil.toString4Array(argTypes)));
              }
  
              if (!isAuthoriedAccess(desc, appId, token)) {
                  throw new AuthAccessDeniedException("AppId or token is not valid to access");
              }
  
              res = desc.getMethod().invoke(desc.getTarget(), args);
          } catch (MethodNotFoundException e1) {
              throw new InvalidParamException(e1);
          } catch (IllegalArgumentException e1) {
              throw new InvalidParamException(e1);
          } catch (IllegalAccessException e1) {
              throw new InvalidAccessException(e1);
          } catch (AuthAccessDeniedException e1) {
              throw new RpcException(e1);
          } catch (InvocationTargetException e1) {
              Throwable e2 = e1.getTargetException();
              if (e2 instanceof RpcException) {
                  throw (RpcException) e2;
              } else {
                  throw new ServerErrorException(e2);
              }
          }
          if (res == void.class) {
              return null;
          } else {
              return res;
          }
      }
docs: 通过{@link #serviceLocator}路由到缓存的方法，并且执行
  
  @param objClass
  服务接口class
  @param obj
  服务实现bean
  @param methodName
  方法名称
  @param argTypes
  方法参数类型数组
  @param args
  方法参数数组
  @param appId
  appId
  @param token
  token
  @return 调用结果
  @throws RpcException