* Dubbo version: 3.2.5
* Operating System version: windows11
* Java version: 17

If the streaming communication mode StreamObserver generic parameter is also generic, an error "INTERNAL: Call aborted cause client exception" will be reported during runtime.

---

streaming通信模式StreamObserver泛型参数如果也是泛型的话在运行的时候会报错“INTERNAL : Call aborted cause client exception”
具体看代码截图
![1700016850144](https://github.com/apache/dubbo/assets/33255974/f9c5dd27-e718-4080-ac75-c5d88ee0e79e)
![1700016959488](https://github.com/apache/dubbo/assets/33255974/6475ea78-1006-4c39-9f34-cf9bc465c1f2)

}
            
            boolean ignore = checkNeedIgnore(returnClass);
            if (ignore) {
                return protobufParameterCount != 1;
            }
            throw new IllegalStateException("method params error method=" + methodName);
        }
        
        return javaParameterCount > 0;
    }
    /**
     * fixme will produce error on grpc. but is harmless so ignore now
     */
    static boolean checkNeedIgnore(Class<?> returnClass) {
        return Iterator.class.isAssignableFrom(returnClass);
    }
    static boolean isMono(Class<?> clz) {
        return REACTOR_RETURN_CLASS.equalsIgnoreCase(clz.getName());
    }
    static boolean isRx(Class<?> clz) {
        return RX_RETURN_CLASS.equalsIgnoreCase(clz.getName());
    }
    static boolean isProtobufClass(Class<?> clazz) {
        while (clazz != Object.class && clazz != null) {
            Class<?>[] interfaces = clazz.getInterfaces();
            if (interfaces.length > 0) {
                for (Class<?> clazzInterface : interfaces) {
                    if (PROTOBUF_MESSAGE_CLASS_NAME.equalsIgnoreCase(clazzInterface.getName())) {
                        return true;