Description of problem: API call org.create is not implemented, or accessible. Version-Release number of selected component (if applicable): Satellite 5.3 How reproducible: Always. Steps to Reproduce: 1. Try with the following script : #!/usr/bin/perl use strict; use warnings; use Frontier::Client; use Data::Dumper; my $HOST = 'sat.hash.fr'; my $user = 'rhn-admin'; my $pass = 'redhat'; my $client = Frontier::Client->new(url => "http://$HOST/rpc/api"); my $session = $client->call('auth.login',$user, $pass); print STDERR Dumper( \$session ); my $org = $client->call('org.create', $session, "test org", "test(admin", "redhat", "Mr.", "shadowman", "test", 'test',); print Dumper( \$org ); 2. Tailor it to your environment 3. Run Actual results: Fault returned from XML RPC Server, fault code -1: redstone.xmlrpc.XmlRpcFault: Could not find method create in class class com.redhat.rhn.frontend.xmlrpc.org.OrgHandler Expected results: No error message. Organisation created. Additional info:
OK, found the bug, after searching Spacewalk code. It turns out that we need to pass a boolean as last parameter. The script above can't work, as missing the last parameter. But in order to make it work, the code is still nasty : my $org = $client->call( 'org.create', $session, "testorg", "test-admin", "redhat", "Mr.", "shadowman", "test", 'test', Frontier::RPC2::Boolean->new(0), # here, the definition of a boolean :( ); So we can close the bug, but would need to open a RFE to get predefined booleans for API, and doc entry to point to those.