I don't have any experience with XRC whatsoever, but the documentation of
Net::XRC shows the createUser call with 4 arguments, and the second one is a reference to an array. Given that this is a web service, it'd make sense that your SOAP call should follow that signature:
my $result = $client->createUser(
XRC_CLIENTID,
$pkg,
$username,
$password);
Other than that, I can't offer much help, without seeing the actual wsdl and soap trace log.