Index: modules/simpletest/tests/xmlrpc.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/xmlrpc.test,v
retrieving revision 1.14
diff -u -r1.14 xmlrpc.test
--- modules/simpletest/tests/xmlrpc.test	24 Aug 2009 00:14:21 -0000	1.14
+++ modules/simpletest/tests/xmlrpc.test	1 Dec 2009 20:39:26 -0000
@@ -1,6 +1,48 @@
 <?php
 // $Id: xmlrpc.test,v 1.14 2009/08/24 00:14:21 webchick Exp $
 
+/**
+ * Perform basic XML-RPC tests that do not require addition callbacks.
+ */
+class XMLRPCBasicTestCase extends DrupalWebTestCase {
+
+  public static function getInfo() {
+    return array(
+      'name'  => 'XML-RPC basic',
+      'description'  => 'Perform basic XML-RPC tests that do not require addition callbacks.',
+      'group' => 'XML-RPC',
+    );
+  }
+
+  /**
+   * Ensure that a basic XML-RPC call with no parameters works.
+   */
+  protected function testListMethods() {
+    // Minimum list of methods that should be included.
+    $minimum = array(
+      'system.multicall',
+      'system.methodSignature',
+      'system.getCapabilities',
+      'system.listMethods',
+      'system.methodHelp',
+    );
+
+    // Invoke XML-RPC call to get list of methods.
+    $url = url(NULL, array('absolute' => TRUE)) . 'xmlrpc.php';
+    $methods = xmlrpc($url, 'system.listMethods');
+
+    // Ensure that the minimum methods were found.
+    $count = 0;
+    foreach ($methods as $method) {
+      if (in_array($method, $minimum)) {
+        $count++;
+      }
+    }
+
+    $this->assertEqual($count, count($minimum), 'system.listMethods returned at least the minimum listing');
+  }
+}
+
 class XMLRPCValidator1IncTestCase extends DrupalWebTestCase {
   public static function getInfo() {
     return array(
Index: includes/xmlrpcs.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/xmlrpcs.inc,v
retrieving revision 1.33
diff -u -r1.33 xmlrpcs.inc
--- includes/xmlrpcs.inc	13 Oct 2009 21:16:43 -0000	1.33
+++ includes/xmlrpcs.inc	1 Dec 2009 20:39:26 -0000
@@ -64,6 +64,9 @@
   if ($xmlrpc_server->message->messagetype != 'methodCall') {
     xmlrpc_server_error(-32600, t('Server error. Invalid XML-RPC. Request must be a methodCall.'));
   }
+  if (!isset($xmlrpc_server->message->params)) {
+    $xmlrpc_server->message->params = array();
+  }
   xmlrpc_server_set($xmlrpc_server);
   $result = xmlrpc_server_call($xmlrpc_server, $xmlrpc_server->message->methodname, $xmlrpc_server->message->params);
 
