Les fonctionnalités natives de web services Dolibarr sont placées dans le répertoire webservices

This commit is contained in:
Laurent Destailleur 2006-08-08 01:26:48 +00:00
parent d7341f59e0
commit 747008a2fe
2 changed files with 72 additions and 55 deletions

View File

@ -20,56 +20,56 @@
*/ */
/** /**
\file htdocs/webservices_client.php \file htdocs/webservices/client.php
\brief Page demo client appel WebServices Dolibarr \brief Page demo client appel WebServices Dolibarr
\version $Revision$ \version $Revision$
*/ */
require_once("./master.inc.php"); require_once("../master.inc.php");
require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
$WS_DOL_URL = $dolibarr_main_url_root.'/webservices.php'; $WS_DOL_URL = $dolibarr_main_url_root.'/webservices/server.php';
$WS_METHOD = 'getVersions'; $WS_METHOD = 'getVersions';
// Set the parameters to send to the WebService // Set the parameters to send to the WebService
$parameters = array("param1"=>"value1"); $parameters = array("param1"=>"value1");
// Set the WebService URL // Set the WebService URL
dolibarr_syslog("Create soapclient for URL=".$WS_DOL_URL); dolibarr_syslog("Create soapclient for URL=".$WS_DOL_URL);
$soapclient = new soapclient($WS_DOL_URL); $soapclient = new soapclient($WS_DOL_URL);
if ($soapclient) if ($soapclient)
{ {
} }
// Call the WebService method and store its result in $result. // Call the WebService method and store its result in $result.
dolibarr_syslog("Call method ".$WS_METHOD); dolibarr_syslog("Call method ".$WS_METHOD);
$result = $soapclient->call($WS_METHOD,$parameters); $result = $soapclient->call($WS_METHOD,$parameters);
// Show page with result // Show page with result
header("Content-type: text/html; charset=utf8"); header("Content-type: text/html; charset=utf8");
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'."\n"; print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'."\n";
echo '<html>'."\n"; echo '<html>'."\n";
echo '<head>'; echo '<head>';
echo '<title>WebService Test: '.$WS_METHOD.'</title>'; echo '<title>WebService Test: '.$WS_METHOD.'</title>';
echo '</head>'."\n"; echo '</head>'."\n";
echo '<body>'."\n"; echo '<body>'."\n";
echo "<h2>Question</h2>"; echo "<h2>Question</h2>";
echo '<h4>Function</h4>'; echo '<h4>Function</h4>';
echo $WS_METHOD; echo $WS_METHOD;
echo '<h4>Request</h4>'; echo '<h4>Request</h4>';
echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>'; echo '<pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo "<h2>Réponse</h2>"; echo "<h2>Réponse</h2>";
echo '<h4>Result</h4>'; echo '<h4>Result</h4>';
echo '<pre>'; echo '<pre>';
print_r($result); print_r($result);
echo '</pre>'; echo '</pre>';
echo '<h4>Response</h4>'; echo '<h4>Response</h4>';
echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>'; echo '<pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '</body>'."\n";; echo '</body>'."\n";;
echo '</html>'."\n";; echo '</html>'."\n";;
?> ?>

View File

@ -20,30 +20,47 @@
*/ */
/** /**
\file htdocs/webservices.php \file htdocs/webservices/server.php
\brief Fichier point entrée des WebServices Dolibarr \brief Fichier point entrée des WebServices Dolibarr
\version $Revision$ \version $Revision$
*/ */
require_once("./master.inc.php"); require_once("../master.inc.php");
require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP require_once(NUSOAP_PATH.'/nusoap.php'); // Include SOAP
dolibarr_syslog("Call Dolibarr webservices interfaces"); dolibarr_syslog("Call Dolibarr webservices interfaces");
// Create the soap Object
$s = new soap_server;
// Register a method available for clients // Create the soap Object
$s->register('getVersions'); $server = new soap_server();
$ns='dolibarr';
$server->configureWSDL('WebServicesDolibarr',$ns);
$server->wsdl->schemaTargetNamespace=$ns;
// Register methods available for clients
/*
$server->register('getVersions',
array(), // Tableau parametres entrée
array('result' => 'xsd:array'), // Tableau parametres sortie
$ns);
*/
$server->register('getVersions',
// Tableau parametres entrée
array(),
// Tableau parametres sortie
array('dolibarr'=>'xsd:string','mysql'=>'xsd:string','apache'=>'xsd:string'),
$ns);
// Return the results. // Return the results.
$s->service($HTTP_RAW_POST_DATA); $server->service($HTTP_RAW_POST_DATA);
// Full methods code
function getVersions() function getVersions()
{ {
dolibarr_syslog("Function: getVersions"); dolibarr_syslog("Function: getVersions");