in reply to Frontier::Client and getting right XML output

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);