$_POST returns empty value in custom service created a custom service resource to catch some data from the user through post method. but while I am accessing the service ie 
    http://dev.localhost:8082/rest/send_mail/retrive.json 

Query: curl -X POST -H "Accept-Encoding: gzip" -H "Content-Type: application/json; charset=utf-8" 

sending the  data in POST is :
     {
     "nid" :"1834",
     "recipient" :"charubachi.rath@abc.com",
     "sender":"charubachi.rath@abc.com",
     "subject": "xyz",
     "body":"a"
    }

How to accept the data 

in my .module file

&lt;?php

/**
 * Implementation of hook_services_resources().
*/
function send_mail_service_services_resources() {
 $api = array(
'send_mail' =&gt; array(
  'operations' =&gt; array(
    'create' =&gt; array(
      'help' =&gt; 'Drupal 7 Services 3 test',
      'file' =&gt; array('file' =&gt; 'inc', 'module' =&gt; 'send_mail_service'),
      'callback' =&gt; '_send_mail_service_create',
      'access callback' =&gt; 'user_access',
      'access arguments' =&gt; array('access content'),
      'access arguments append' =&gt; FALSE,
      'args' =&gt; array(
        array(
          'name' =&gt; 'nid',
          'optional' =&gt; FALSE,
          'source' =&gt; array('data' =&gt; 'nid'),
          'type' =&gt; 'int',
          'description' =&gt; 'The nid of the node to get',
        ),
        array(
          'name' =&gt; 'recipient',
          'type' =&gt; 'string',
          'description' =&gt; t('recipient'),
          'source' =&gt; array('data' =&gt; 'recipient'),
          'optional' =&gt; TRUE,
          'default' =&gt; '0',
        ),
        array(
          'name' =&gt; 'sender',
          'type' =&gt; 'string',
          'description' =&gt; 'sender',
          'source' =&gt; array('data' =&gt; 'sender'),
          'optional' =&gt; TRUE,
          'default' =&gt; '0',
        ),
        array(
          'name' =&gt; 'subject',
          'type' =&gt; 'string',
          'description' =&gt; 'subject',
          'source' =&gt; array('data' =&gt; 'subject'),
          'optional' =&gt; TRUE,
          'default' =&gt; '0',
        ),
        array(
          'name' =&gt; 'body',
          'type' =&gt; 'string',
          'description' =&gt; 'body',
          'source' =&gt; array('data' =&gt; 'body'),
          'optional' =&gt; TRUE,
          'default' =&gt; '0',
        ),
      ),
    ),
  ),
),
);
 return $api;
}


in my call back function when I am trying to print $_POST I am getting empty values.
You are passing every element as individual element, so you can't get these values in $_POST array. I have executed your code at my end and retrieve each element value by following call back function.



function _send_mail_service_create($nid, $recipient, $sender, $subject, $body) {
  echo "nid => ".$nid;
  echo "\nrecipient => ".$recipient;
  echo "\nsender => ".$sender;
  echo "\nsubject => ".$subject;
  echo "\nbody => ".$body;  
}



Output:

nid => 1834
recipient => charubachi.rath@abc.com
sender => charubachi.rath@abc.com
subject => xyz
body => a


If you want to have these values in an array then you can use this in following way:



 /**
   * Implementation of hook_services_resources().
   */
  function send_mail_service_services_resources() {
    $api = array(
      'send_mail' => array(
        'operations' => array(
          'create' => array(
            'help' => 'Drupal 7 Services 3 test',
            'callback' => '_send_mail_service_create',
            'access callback' => 'user_access',
            'access arguments' => array('access content'),
            'access arguments append' => FALSE,
            'args' => array(
              array(
                'name' => 'title',
                'optional' => FALSE,
                'source' => 'data',
                'type' => 'string',
                'description' => 'The data collected through JSON',
              ),
            ),
          ),
        ),
      ),
    );
 return $api;
}


function _send_mail_service_create($arg) {
  print_r($arg);
}




Output:

Array
(
    [nid] => 1834
    [recipient] => charubachi.rath@abc.com
    [sender] => charubachi.rath@abc.com
    [subject] => xyz
    [body] => a
)