diff --git a/protocol/invocation/rpcinvocation.go b/protocol/invocation/rpcinvocation.go index 5831c637fd3f7191ab27ecd53f5d13a58e44657e..505043acd1e1fdacbd940dddd851adbdec7934e5 100644 --- a/protocol/invocation/rpcinvocation.go +++ b/protocol/invocation/rpcinvocation.go @@ -224,7 +224,14 @@ func WithParameterTypes(parameterTypes []reflect.Type) option { // WithParameterTypeNames creates option with @parameterTypeNames. func WithParameterTypeNames(parameterTypeNames []string) option { return func(invo *RPCInvocation) { - invo.parameterTypeNames = parameterTypeNames + if len(parameterTypeNames) == 0 { + return + } + parameterTypeNamesTmp := make([]string, len(parameterTypeNames)) + for k, v := range parameterTypeNames { + parameterTypeNamesTmp[k] = v + } + invo.parameterTypeNames = parameterTypeNamesTmp } }