You're assigning an anonymous array, which contains an anonymous hash, to a hash called %paramfields. That's not right. I assume you want something like this:
my @paramfields = ({
'this' => 'thisvalue',
'that' => 'thatvalue',
'something' => 'somevalue'
});
my $result = $server->call($method, @paramfields);