configureWSDL('Update', $ns); ////////////////////////////////////// Types //////////////////////////////////////////////////////////////////// $server->wsdl->addComplexType( 'Version', 'complexType', 'struct', 'all', '', array( 'version_id' => array('name' => 'version_id', 'type' => 'xsd:int'), 'version' => array('name' => 'version', 'type' => 'xsd:double'), 'path' => array('name' => 'path', 'type' => 'xsd:string'), 'release_type' => array('name' => 'release_type', 'type' => 'xsd:short'), 'upgrade_db' => array('name' => 'upgrade_db', 'type' => 'xsd:short') ) ); $server->wsdl->addComplexType( 'Versions', 'complexType', 'array', '', 'SOAP-ENC:Array', array(), array( array('ref' => 'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:Version[]') ), 'tns:Version' ); ////////////////////////////////////// Types //////////////////////////////////////////////////////////////////// ////////////////////////////////////// WebService Method Definitions //////////////////////////////////////////// $server->register('CheckForUpdate', array('DbPwd' => 'xsd:string'), //'', array('return' => 'tns:Version'), $ns, $ns . '#CheckForUpgrade', 'rpc', 'encoded', 'Check for update' ); $server->register('GetVersion', array('version' => 'xsd:double', 'DbPwd' => 'xsd:string'), //'', array('return' => 'tns:Version'), $ns, $ns . '#GetVersion', 'rpc', 'encoded', 'Get all updates' ); $server->register('GetVersions', array('DbPwd' => 'xsd:string'), array('return' => 'tns:Versions'), $ns, $ns . '#GetVersions', 'rpc', 'encoded', 'Get all updates' ); ////////////////////////////////////// WebService Method Definitions //////////////////////////////////////////// ////////////////////////////////////// Methods ////////////////////////////////////////////////////////////////// function CheckForUpdate ($dbPwd) { $username="debbyle_user"; $database="debbyle_dxversion"; $link = mysql_connect("mysql.plainhost.com", $username, $dbPwd); @mysql_select_db($database) or die( "Unable to select database"); $query = "SELECT Max(version) as max FROM version"; $result = mysql_query($query); $num=mysql_numrows($result); $i=0; while ($i < $num) { $max = mysql_result($result,$i,"max"); $i = $i + 1; } $query = "SELECT * FROM version WHERE version = '$max'"; $result = mysql_query($query); $num = mysql_numrows($result); $i = 0; while ($i < $num) { $version = array( 'version_id' => mysql_result($result, $i, 'version_id'), 'version' => mysql_result($result, $i, 'version'), 'path' => mysql_result($result, $i, 'path'), 'release_type' => mysql_result($result, $i, 'release_type'), 'upgrade_db' => mysql_result($result, $i, 'upgrade_db') ); $i++; } mysql_close($link); return $version; } function GetVersion ($version, $dbPwd) { $username = "debbyle_user"; $database = "debbyle_dxversion"; $link = mysql_connect("mysql.plainhost.com", $username, $dbPwd); @mysql_select_db($database) or die( "Unable to select database"); $query = "SELECT * FROM version WHERE version = $version"; $result = mysql_query($query); $num = mysql_numrows($result); $i = 0; while ($i < $num) { $subscription = array( 'version_id' => mysql_result($result, $i, 'version_id'), 'version' => mysql_result($result, $i, 'version'), 'path' => mysql_result($result, $i, 'path'), 'release_type' => mysql_result($result, $i, 'release_type'), 'upgrade_db' => mysql_result($result, $i, 'upgrade_db') ); $i++; } mysql_close($link); return $subscription; } function GetVersions ($dbPwd) { $username = "debbyle_user"; $database = "debbyle_dxversion"; $link = mysql_connect("mysql.plainhost.com", $username, $dbPwd); @mysql_select_db($database) or die( "Unable to select database"); $query = "SELECT * FROM version"; $result = mysql_query($query); $num = mysql_numrows($result); $i = 0; $subscriptions = array(); while ($i < $num) { $subscriptions[] = array( 'version_id' => mysql_result($result, $i, 'version_id'), 'version' => mysql_result($result, $i, 'version'), 'path' => mysql_result($result, $i, 'path'), 'release_type' => mysql_result($result, $i, 'release_type'), 'upgrade_db' => mysql_result($result, $i, 'upgrade_db') ); $i++; } mysql_close($link); return $subscriptions; } ////////////////////////////////////// Methods ////////////////////////////////////////////////////////////////// // Use the request to (try to) invoke the service $HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : ''; $server->service($HTTP_RAW_POST_DATA); exit(); ?>