* Dubbo version: 3.1.2
* Java version: 1.8.0_322


1. DUBBO 协议原使用序列化方式为 hessin2 , Triple 协议 RPCType：UNARY 也是用  hessin2 .
2. 拿到 响应的 Response 时候， 发现 序列化成了 父类的实例，查阅代码发现。 

原来使用 DUBBO协议的时候使用的代码如下：
DecodeableRpcResult

`private void handleValue(ObjectInput in) throws IOException {
        try {
            Type[] returnTypes;
            if (invocation instanceof RpcInvocation) {
                returnTypes = ((RpcInvocation) invocation).getReturnTypes();
            } else {
                returnTypes = RpcUtils.getReturnTypes(invocation);
            }
            Object value;
            if (ArrayUtils.isEmpty(returnTypes)) {
                // This almost never happens?
                value = in.readObject();
            } else if (returnTypes.length == 1) {
                value = in.readObject((Class<?>) returnTypes[0]);
            } else {
                value = in.readObject((Class<?>) returnTypes[0], returnTypes[1]);
            }
            setValue(value);
        } catch (ClassNotFoundException e) {
            rethrow(e);
        }
    }`

通过 响应类的类型做序列化。 ` in.readObject((Class<?>) returnTypes[0], returnTypes[1]);`

但是 在 做 Triple 协议 反序列化时：

默认使用 DefaultMultipleSerialization  做序列化

` @Override
    public Object deserialize(URL url, String serializeType, String clz, InputStream os) throws IOException, ClassNotFoundException {
        serializeType = convertHessian(serializeType);
        final Serialization serialization = url.getOrDefaultFrameworkModel().getExtensionLoader(Serialization.class).getExtension(serializeType);
        final ObjectInput in = serialization.deserialize(null, os);
        return in.readObject();
    }`

没有使用 响应类的类型 `return in.readObject();`

因此  返回的是 父类， 因此出现异常。 


目前 只能通过 扩展 MultipleSerialization  解决。














} else {
                arguments = (Object[]) obj;
            }
            final TripleCustomerProtocolWapper.TripleRequestWrapper.Builder builder = TripleCustomerProtocolWapper.TripleRequestWrapper.Builder.newBuilder();
            builder.setSerializeType(serialize);
            for (String type : argumentsType) {
                builder.addArgTypes(type);
            }
            for (Object argument : arguments) {
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                multipleSerialization.serialize(url, serialize, null, argument, bos);
                builder.addArgs(bos.toByteArray());
            }
            return builder.build().toByteArray();
        }
        /**
         * Convert hessian version from Dubbo's SPI version(hessian2) to wrapper API version
         * (hessian4)
         *
         * @param serializeType literal type
         * @return hessian4 if the param is hessian2, otherwise return the param
         */
        private String convertHessianToWrapper(String serializeType) {
            if (TripleConstant.HESSIAN2.equals(serializeType)) {
                return TripleConstant.HESSIAN4;
            }
            return serializeType;
        }
    }
    private static class PbArrayPacker implements Pack {