A simple way to get up and running is to use PHP as the server with QCubed ORM objects:
Code:
<?
require('../../../qcubed/wwwroot/includes/prepend.inc.php');
$server = new SoapServer(null, array('uri' => "urn:keyringlabs.com"));
$server->addFunction("login");
$server->handle();
function login($email, $pass) {
if (strlen($email) == 0) {
return Array('serviceToken' => '');
} elseif (strlen($pass) == 0) {
return Array('serviceToken' => '');
} else {
$objMerchant = Merchant::LoadByEmailPassword($email, $pass);
if ($objMerchant == null || $objMerchant->Id < 1) {
return Array('serviceToken' => '');
} else {
$key = uniqid();
$objSess = new Merchantsessions();
$objSess->MerchantID = $objMerchant->Id;
$objSess->ServiceToken = $key;
$objSess->Save();
}
}
$result = Array('serviceToken' => $key);
return $result;
}
?>
Note that for real applications the password should be encrypted which requires a bit more work...