Bug 481181

Summary: Could not find method create in class class com.redhat.rhn.frontend.xmlrpc.errata.ErrataHandler
Product: Red Hat Satellite 5 Reporter: Frank Ederveen <frank>
Component: APIAssignee: Brad Buckingham <bbuckingham>
Status: CLOSED NOTABUG QA Contact: Brandon Perkins <bperkins>
Severity: medium Docs Contact:
Priority: low    
Version: 510CC: cperry, frank
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-23 13:58:06 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Frank Ederveen 2009-01-22 16:32:03 UTC
User-Agent:       Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2)

Hi,

I'm trying to automate our Errata handling and would like to use the API for that.

On our 5.1.0 server I get this message:
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.errata.ErrataHandler

I call it like this: my $result = $client->call('errata.create',$session,....) which works fine for getDetails etc..

A method errata.listMethods would be nice... ? New ones seem to pop up all the time and the documentation does not always seem to be 100% up to date.

Thanks,

Frank


Reproducible: Always

Steps to Reproduce:
1. my $result = $client->call('errata.create',$session,....);
2.
3.
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.errata.ErrataHandler


Expected Results:  
Errata created with my parameters.

Comment 1 Clifford Perry 2009-01-22 20:28:23 UTC
The Errata.create is a long and complex call to make. I confirmed with our QA that this call was tested though our automation stack. This is likely to be user error somehow, but due to lack of information it is hard to pin point. Please work through Support if you feel that there is a bug in the call. As for future API calls - you can review the following Spacewalk wiki page to see what is coming up soon within Satellite - https://fedorahosted.org/spacewalk/wiki/ApiAdditions

------------------------
Method: create
Description:
Create a custom errata. If "publish" is set to true, the errata will be published as well

Parameters:

    * string sessionKey
    * struct (errata info)
          o string "synopsis"
          o string "advisory_name"
          o int "advisory_release"
          o string "advisory_type" - Type of advisory (one of the following: "Security Advisory", "Product Enhancement Advisory", or "Bug Fix Advisory")
          o string "product"
          o string "topic"
          o string "description"
          o string "references"
          o string "notes"
          o string "solution"
    * array
          o struct (bug)
                + int "id" - Bug ID.
                + string "summary"
    * array - List of keywords to associate with the errata.
          o string keyword
    * array - List of packages to associate with the errata.
          o int packageId
    * boolean publish - Should the errata be published.
    * array - List of channels the errata should be published too, if it is to be published. (ignored if publish is set to false)
          o string channelLabel

Returns: struct (errata)

    * int "id" - Errata ID.
    * dateTime.iso8601 "date" - Date erratum was created.
    * string "advisory_type" - Type of the advisory.
    * string "advisory_name" - Name of the advisory.
    * string "advisory_synopsis" - Summary of the erratum.

Comment 2 Frank Ederveen 2009-01-23 13:58:06 UTC
I got it to work. The error message gave the impression that the whole method doesn't exist, but it seems it was just another user error.

Thanks!

Frank