diff --git a/protocol/dubbo/impl/hessian.go b/protocol/dubbo/impl/hessian.go index b686d5728d026fdb1e37180d5a9d24d32bf4b7bc..066400d58bebdbf7cfc0f6e172e9e1537a95ae1c 100644 --- a/protocol/dubbo/impl/hessian.go +++ b/protocol/dubbo/impl/hessian.go @@ -489,6 +489,10 @@ func getArgType(v interface{}) string { } switch t.Kind() { case reflect.Struct: + v, ok := v.(hessian.POJO) + if ok { + return v.JavaClassName() + } return "java.lang.Object" case reflect.Slice, reflect.Array: if t.Elem().Kind() == reflect.Struct {