How to create test_endpoint?
Services module is easy to use, but it can be tricky to configure especially if you are new to the concept. So,  I am going to post the screenshots to make configuration of Services modules easy for "Drupal Answers" users.

Following is the version of Services module installed on my machine:



Create an endpoint called 'rest' as shown below:



Select the type of server and endpoint path:



Select the list of resources that you want to enable and specify aliases:



Select the response formatters and request parsers that you want to enable:



You can test your configuration as shown below:



You can get the list of all nodes as below:



And specific node as:



Following are the excellent examples scripts provided by MichaelCole here http://drupal.org/node/910598#comment-4677738 to create nodes from any external PHP application. 

I am duplicating his code for completeness of this answer.

//--------------login to the server------------------------
$service_url = 'http://example.dev/rest/user/login.xml'; // .xml asks for xml data in response
$post_data = array(
    'username' =&gt; 'test',
    'password' =&gt; 'test',
);
$post_data = http_build_query($post_data, '', '&amp;'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGIN RESPONSE:\n";
var_dump($response);



// parse the response
$xml = new SimpleXMLElement($response);
$session_cookie = $xml-&gt;session_name . '=' . $xml-&gt;sessid;
// print "SESSION_COOKIE: $session_cookie";

file_put_contents('session_cookie.txt', $session_cookie);

//----------------create a node -------------------------------

$node_data = array(
    'type' =&gt; 'ct_metadata_core',
    'title' =&gt; 'test layer',
    'field_core_lat_n[und][0]' =&gt; array('value' =&gt; '90'),
    'field_core_lat_s[und][0]' =&gt; array('value' =&gt; '-90'),
    'field_core_long_e[und][0]' =&gt; array('value' =&gt; '180'),
    'field_core_long_w[und][0]' =&gt; array('value' =&gt; '-180'),
    'field_core_description[und][0]' =&gt; array('value' =&gt; 'National Data Buoy Center'),
    'field_core_originator[und][0]' =&gt; array('value' =&gt; 'NDBC'),
    'field_core_url[und][0]' =&gt; array('url' =&gt; 'http://www.ndbc.noaa.gov/kml/marineobs_as_kml.php?sort=pgm'),
    'field_cont_res_name_org[und][0]' =&gt; array('value' =&gt; 'test'),

);


$service_url = 'http://example.dev/rest/node'; // .xml asks for xml data in response
$session_cookie = file_get_contents('session_cookie.txt');

$node_data = http_build_query($node_data, '', '&amp;'); // Format post data as application/x-www-form-urlencoded
// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session

curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $node_data); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "CREATE NODE RESPONSE:\n";
var_dump($response);


//----------------logout from the server-------------------------

$service_url = 'http://example.dev/rest/user/logout';
$session_cookie = file_get_contents('session_cookie.txt');

// set up the request
$curl = curl_init($service_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // have curl_exec return a string

curl_setopt($curl, CURLOPT_COOKIE, "$session_cookie"); // use the previously saved session
curl_setopt($curl, CURLOPT_POST, true);             // do a POST
curl_setopt($curl, CURLOPT_POSTFIELDS, ""); // POST this data
// make the request
curl_setopt($curl, CURLOPT_VERBOSE, true); // output to command line
$response = curl_exec($curl);
curl_close($curl);
print "LOGOUT RESPONSE:\n";
var_dump($response);