How can I create a simple non-CRUD resource action with Drupal 7 / Services 3? The resource "username" appears but my action does not appear in the list in services admin. Response to a POST is HTTP/1.1 404 Not found: Could not find resource username.

I replaced my module name with "module" here:

function module_services_resources() {
  return array(
    'username' =&gt; array(
      'check' =&gt; array(
        'help' =&gt; 'Checks username for uniqueness',
//       'file' =&gt; array('file' =&gt; 'inc', 'module' =&gt; 'noteresource'),
       'callback' =&gt; '_module_username_check',
       'access callback' =&gt; '_module_resource_access',
        'access arguments' =&gt; array('view'),
        'access arguments append' =&gt; TRUE,
        'args' =&gt; array(
          array(
            'name' =&gt; 'username',
            'type' =&gt; 'string',
            'description' =&gt; 'The username to check',
            'source' =&gt; 'data',
            'optional' =&gt; FALSE,
          ),
        ),
      )
    )
  );
}


function _module_resource_access($op, $args) {
  return TRUE;
}


function _module_username_check($data) {

  $username = $data-&gt;username;

  $user = db_fetch_object(db_query("SELECT uid FROM users WHERE name=':username'", array(":username" =&gt; $username)));

  return $user;
}
Actions outside the normal CRUD roster must be wrapped in an array under the key 'actions'

function module_services_resources() {
  return array(
    'actions' =&gt; array(
      'username' =&gt; array(
...