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.
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.
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