Bug 565450 - org.create API call not existing
Summary: org.create API call not existing
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: API
Version: 530
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Tomas Lestach
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-02-15 11:27 UTC by Jérôme Fenal
Modified: 2010-02-16 00:27 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-02-16 00:27:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jérôme Fenal 2010-02-15 11:27:27 UTC
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:

Comment 1 Jérôme Fenal 2010-02-16 00:27:29 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.