예제 #1
0
 *         http://www.gnu.org/copyleft/gpl.html
 *
 * @category  Moodle
 * @package   webservice
 * @copyright Copyright (c) 1999 onwards Martin Dougiamas     http://dougiamas.com
 * @license   http://www.gnu.org/copyleft/gpl.html     GNU GPL License
 */
/**
 * This file generate a web service documentation in HTML
 * This documentation describe how to call a Moodle Web Service
 */
require_once '../config.php';
require_once 'lib.php';
$protocol = optional_param('protocol', "soap", PARAM_ALPHA);
print_header(get_string('wspagetitle', 'webservice'), get_string('wspagetitle', 'webservice') . ":", true);
webservice_lib::display_webservices_availability($protocol);
generate_documentation($protocol);
generate_functionlist();
print_footer();
/**
 * Generate documentation specific to a protocol
 * @param string $protocol
 */
function generate_documentation($protocol)
{
    switch ($protocol) {
        case "soap":
            $documentation = get_string('soapdocumentation', 'webservice');
            break;
        case "xmlrpc":
            $documentation = get_string('xmlrpcdocumentation', 'webservice');
 * @copyright Copyright (c) 1999 onwards Martin Dougiamas     http://dougiamas.com
 * @license   http://www.gnu.org/copyleft/gpl.html     GNU GPL License
 */
/*
 * Zend Soap sclient
 */
require_once '../../../config.php';
require_once '../lib.php';
include "Zend/Loader.php";
Zend_Loader::registerAutoload();
///Display Moodle page header
print_header('Soap test client', 'Soap test client' . ":", true);
/// check that webservices are enable into your Moodle
/// WARNING: it makes sens here only because this client runs on the same machine as the
///          server, if you change the WSDL url, please comment the following if statement
if (!webservice_lib::display_webservices_availability("soap")) {
    echo "<br/><br/>";
    echo "Please fix the previous problem(s), the testing session has been interupted.";
    print_footer();
    exit;
}
/// authenticate => get a conversation token from the server
/// You need a wsuser/wspassword user in the remote Moodle
$client = new Zend_Soap_Client($CFG->wwwroot . "/webservice/soap/server.php?wsdl");
try {
    $token = $client->get_token(array('username' => "wsuser", 'password' => "wspassword"));
    print "<pre>\n";
    print "<br><br><strong>Token: </strong>" . $token;
    print "</pre>";
} catch (exception $exception) {
    print "<br><br><strong>An exception occured during authentication: \n</strong>";