dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Dolibarr OSC


From: Laurent Destailleur (Eldy)
Subject: Re: [Dolibarr-dev] Dolibarr OSC
Date: Wed, 24 Jan 2007 19:11:25 +0100
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

Jean a écrit :
Modification du serveur webservices.

NB : Merci à celui qui a proposé d'utiliser les WSDL.
C'est moi qui ait intégré la fonction de diffusion wsdl, par contre, pourquoi l'avoir supprimé ?
Pouvez-vous proposer le fichier wsdl ?
Justement c'était l'objet de la modif qui a été faite, permettre de récupérer le fichier WSDL. Je pense que tout service publié doit aussi publié son interface. En effet, à quoi sert de publier un service si on ne publie pas l'interface pour que les clients s'en servent ?
Ce serait intéressant pour d'autres utilisations. Le code a été commenté.
------------------------------------------------------------------------

diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/CVS/Entries 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/CVS/Entries
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/CVS/Entries      
2006-11-25 11:18:07.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/CVS/Entries      
2007-01-23 15:10:03.146952616 -1000
@@ -1,7 +1,7 @@
 /README.txt/1.1/Thu Jul 13 12:59:00 2006//
 D/includes////
 D/lib////
-/ws_articles.php/1.3/Sat Nov 25 21:18:07 2006//
-/ws_customers.php/1.2/Sat Nov 25 21:18:07 2006//
-/ws_orders.php/1.3/Sat Nov 25 21:18:07 2006//
-/ws_test.php/1.2/Sat Nov 25 21:18:07 2006//
+/ws_test.php/1.2/Sat Nov 25 21:16:23 2006//
+/ws_articles.php/1.3/Wed Jan 24 01:10:02 2007//
+/ws_customers.php/1.2/Wed Jan 24 01:10:02 2007//
+/ws_orders.php/1.3/Wed Jan 24 01:10:03 2007//
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
--- 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
   2006-07-13 02:59:00.000000000 -1000
+++ 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
   2006-06-30 08:48:00.000000000 -1000
@@ -7,10 +7,10 @@
 ----------------------------------------------*/
/* paramètres de connexion à OSC */
-define("OSC_DB_SERVER","");
-define("OSC_DB_SERVER_USERNAME", "");
-define("OSC_DB_SERVER_PASSWORD", "");
-define("OSC_DB_DATABASE", "");
+define("DB_SERVER","localhost");
+define("DB_SERVER_USERNAME", "root");
+define("DB_SERVER_PASSWORD", "");
+define("DB_DATABASE", "tahitirimai");
/* constantes utiles */
 define("OSC_LANGUAGE_ID",1);
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web.php
 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web.php
--- 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web.php
       1969-12-31 14:00:00.000000000 -1000
+++ 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web.php
       2006-07-13 02:59:00.000000000 -1000
@@ -0,0 +1,18 @@
+<?php
+/*---------------------------------------------
+/ Webservices OSC pour dolibarr
+/ configuration et paramètres +/
+/ Jean Heimburger                      juin 2006
+----------------------------------------------*/
+
+/* paramètres de connexion à OSC */
+define("OSC_DB_SERVER","");
+define("OSC_DB_SERVER_USERNAME", "");
+define("OSC_DB_SERVER_PASSWORD", "");
+define("OSC_DB_DATABASE", "");
+
+/* constantes utiles */
+define("OSC_LANGUAGE_ID",1);
+
+?>
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt       
2006-07-13 02:59:00.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt       
2007-01-23 15:03:36.492732992 -1000
@@ -19,7 +19,7 @@
Pour tester l'installation utiliser le client basique fourni à installer sur un serveur web avec php4. -répertoire includes : Par défaut on pointe sur le site osc.tiris.info où j'ai mis à disposition les web services sur un environnement de test. Définir le répertoire où se trouvent les web_services (www.siteosc/webservices)
+répertoire includes : Par défaut on pointe sur le site osc.tiaris.info où j'ai 
mis à disposition les web services sur un environnement de test. Définir le 
répertoire où se trouvent les web_services (www.siteosc/webservices)
Ouvrir la page index.html
 les liens accèdent à certaines méthodes des webservices
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt~ 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt~
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt~      
1969-12-31 14:00:00.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/README.txt~      
2006-07-13 02:59:00.000000000 -1000
@@ -0,0 +1,51 @@
+Interface OSC et Dolibarr
+-------------------------
+
+on va l'appeler version 0.
+
+INSTALATION SUR SITE OSC :
+
+copier le répertoire sur le seveur web
+le répertoire lib qui  contient la librairie nusoap
+le répertoire includes : le fichier configure.php
+les fichiers ws_*
+
+Configuration :
+Tout est dans le fichier configure.php sous forme de define (accès à la BDD 
OSC et def du langage par défaut)
+
+C'est tout !
+
+TEST DE L'INSTALLATION
+
+Pour tester l'installation utiliser le client basique fourni à installer sur 
un serveur web avec php4.
+
+répertoire includes : Par défaut on pointe sur le site osc.tiris.info où j'ai 
mis à disposition les web services sur un environnement de test. Définir le 
répertoire où se trouvent les web_services (www.siteosc/webservices)
+
+Ouvrir la page index.html
+les liens accèdent à certaines méthodes des webservices
+si on obtient une réponse Fault il y a un problème (en principe le message 
perlet de trouver!!
+
+
+TEST DEPUIS DOLIBARR
+
+L'intégration dans Dolibarr sera dispo via le cvs.
+
+Une boutique OSC pour tester (avec les webservices installés) est ici 
http://osc.tiaris.info.
+Créez des clients, commandes... Ca fera plus réel. Ca ne vous coûtera rien, 
mais vous n'aurez rien non plus !
+
+********************
+ATTENTION : ce n'est que le tout début de ce développement. Entre autre il n'y 
a pas encore de contrôle d'accès, donc n'installer que sur des systèmes en 
tests et non sur des sites en production.
+********************
+
+Consulter le wiki pour la doc et le suivi : + http://www.dolibarr.com/wikidev/index.php/Discussion_Utilisateur:Tiaris
+Suivez la mailing list et le forum pour les discussions sur le sujet (et 
participez!).
+
+Jean Heimburger                        address@hidden
+
+
+
+
+
+
+
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php  
2006-11-25 11:18:07.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php  
2007-01-23 15:16:01.773433104 -1000
@@ -29,9 +29,10 @@
// Create the soap Object
 $s = new soap_server;
-$ns='oscommerce';
+/* $ns='oscommerce';
 $s->configureWSDL('WebServicesOSCommerceForDolibarr',$ns);
 $s->wsdl->schemaTargetNamespace=$ns;
+*/
// Register a method available for clients
 $s->register('get_article');
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_customers.php 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_customers.php
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_customers.php 
2006-11-25 11:18:07.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_customers.php 
2007-01-23 15:16:17.436052024 -1000
@@ -29,9 +29,10 @@
// Create the soap Object
 $s = new soap_server;
-$ns='oscommerce';
+/* $ns='oscommerce';
 $s->configureWSDL('WebServicesOSCommerceForDolibarr',$ns);
 $s->wsdl->schemaTargetNamespace=$ns;
+*/
// Register the methods available for clients
 $s->register('get_Client');
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_orders.php 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_orders.php
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_orders.php    
2006-11-25 11:18:07.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_orders.php    
2007-01-23 15:16:32.555753480 -1000
@@ -1,4 +1,4 @@
-<?php
+<?php
 /*  Copyright (C) 2006      Jean Heimburger     <address@hidden>
  *
  *
@@ -19,24 +19,21 @@
  * $Source: 
/sources/dolibarr/dolibarr/htdocs/oscommerce_ws/ws_server/ws_orders.php,v $
  *
  */
-set_magic_quotes_runtime(0);
-
-// Soap Server.
-require_once('./lib/nusoap.php');
+set_magic_quotes_runtime(0);
+
+// Soap Server.
+require_once('./lib/nusoap.php');
require_once('./includes/configure.php');
-
-// Create the soap Object
-$s = new soap_server;
-$ns='oscommerce';
-$s->configureWSDL('WebServicesOSCommerceForDolibarr',$ns);
-$s->wsdl->schemaTargetNamespace=$ns;
-
-// Register the methods available for clients
+
+// Create the soap Object
+$s = new soap_server;
+
+// Register the methods available for clients
 $s->register('get_CAmensuel');
 $s->register('get_orders');
 $s->register('get_lastOrderClients');
-$s->register('get_Order');
+$s->register('get_Order');
/*----------------------------------------------
 * renvoie un tableau avec le CA mensuel réalisé
@@ -44,22 +41,23 @@
 function get_CAmensuel() {
//on se connecte
-       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
+       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
        if (!($db = mysql_select_db(DB_DATABASE, $connexion)))  return new 
soap_fault("Server", "MySQL 2", mysql_error());
//la requête
        $sql = "SELECT sum(t.value) as value, MONTH(o.date_purchased) as mois";
        $sql .= " FROM orders_total as t";
        $sql .= " JOIN orders as o ON o.orders_id = t.orders_id";
-       $sql .= " WHERE t.class = 'ot_subtotal' AND YEAR(o.date_purchased) = 
YEAR(now()) ";
-       $sql .= " GROUP BY mois ORDER BY mois";
+       $sql .= " WHERE t.class = 'ot_subtotal' ";
+//AND YEAR(o.date_purchased) = YEAR(now()) ";
+       $sql .= " GROUP BY mois ORDER BY mois limit 1,12";
if (!($resquer = mysql_query($sql,$connexion))) return new soap_fault("Server", "MySQL 3 ".$sql, mysql_error()); - switch ($numrows = mysql_numrows($resquer)) { - case 0 : - return new soap_fault("Server", "MySQL 4", "produit inexistant");
-                       break;
+               switch ($numrows = mysql_numrows($resquer)) {
+ case 0 : + return new soap_fault("Server", "MySQL 4", $sql);
+                       break;
                default :
                        $i = 0;
                        while ( $i < $numrows)  {
@@ -76,7 +74,7 @@
 function get_orders($limit='', $status='') {
//on se connecte
-       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
+       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
        if (!($db = mysql_select_db(DB_DATABASE, $connexion)))  return new 
soap_fault("Server", "MySQL 2", mysql_error());
//on recherche
@@ -90,10 +88,10 @@
        if (!($resquer = mysql_query($sql,$connexion)))  return new soap_fault("Server", 
"MySQL 3 ".$sql, mysql_error());
        $result ='';
- switch ($numrows = mysql_numrows($resquer)) { - case 0 : + switch ($numrows = mysql_numrows($resquer)) { + case 0 : //return new soap_fault("Server", "MySQL 4", "produit inexistant");
-                       break;
+                       break;
                default :
                        $i = 0;
                        while ( $i < $numrows)  {
@@ -111,7 +109,7 @@
 function get_lastOrderClients($id='',$name='',$limit='') {
//on se connecte
-       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
+       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
        if (!($db = mysql_select_db(DB_DATABASE, $connexion)))  return new 
soap_fault("Server", "MySQL 2", mysql_error());
//on recherche
@@ -124,10 +122,10 @@
        if (!($resquer = mysql_query($sql,$connexion)))  return new soap_fault("Server", 
"MySQL 3 ".$sql, mysql_error());
        $result ='';
- switch ($numrows = mysql_numrows($resquer)) { - case 0 : + switch ($numrows = mysql_numrows($resquer)) { + case 0 : return new soap_fault("Server", "MySQL 4", "produit inexistant");
-                       break;
+                       break;
                default :
                        $i = 0;
                        while ( $i < $numrows)  {
@@ -147,24 +145,30 @@
 {
//on se connecte
-       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
+       if (!($connexion = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)))   return new 
soap_fault("Server", "MySQL 1", "connection impossible");
        if (!($db = mysql_select_db(DB_DATABASE, $connexion)))  return new 
soap_fault("Server", "MySQL 2", mysql_error());
//on recherche la commande
-$sql = "SELECT o.orders_id, o.customers_name, o.customers_id, o.date_purchased, 
t.value, o.payment_method ";
+/*$sql = "SELECT o.orders_id, o.customers_name, o.customers_id, o.date_purchased, 
t.value, o.payment_method ";
 $sql .= " FROM orders_total as t JOIN orders as o on o.orders_id = t.orders_id 
";
 $sql .= " WHERE t.class = 'ot_subtotal'";
-if ($orderid > 0) $sql .=  " and o.orders_id = ".$orderid;
+*/
+$sql = "SELECT o.orders_id, o.customers_name, o.customers_id, o.date_purchased,   
o.payment_method, t.value as total, sum(p.value) as port  ";
+$sql .= " FROM orders as o ";
+$sql .= " JOIN orders_total as t on o.orders_id = t.orders_id and t.class = 
'ot_subtotal' ";
+$sql .= " JOIN orders_total as p on o.orders_id = p.orders_id and (p.class = 'ot_shipping' OR p.class = 'ot_fixed_payment_chg') "; +if ($orderid > 0) $sql .= " WHERE o.orders_id = ".$orderid;
+$sql .= " GROUP BY p.orders_id ";
 $sql .= " ORDER BY o.date_purchased desc";
if (!($resquer = mysql_query($sql,$connexion))) return new soap_fault("Server", "MySQL 3 ".$sql, mysql_error());
        $result ='';
- switch ($numrows = mysql_numrows($resquer)) { - case 0 : + switch ($numrows = mysql_numrows($resquer)) { + case 0 : return new soap_fault("Server", "MySQL 4", "commande inexistante");
-                       break;
+                       break;
                default :
                        $i = 0;
                        while ( $i < $numrows)  {
@@ -185,10 +189,10 @@
if (!($resquer = mysql_query($sql,$connexion))) return new soap_fault("Server", "MySQL 3 ".$sql, mysql_error()); - switch ($numrows = mysql_numrows($resquer)) { - case 0 : + switch ($numrows = mysql_numrows($resquer)) { + case 0 : return new soap_fault("Server", "MySQL 5", "commande sans articles");
-                       break;
+                       break;
                default :
while ( $i < $numrows) {
@@ -203,8 +207,8 @@
 return $result;
 }
-
-// Return the results.
+
+// Return the results.
 $s->service($HTTP_RAW_POST_DATA);
-
-?>
+
+?>
diff -Naur 
/home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php 
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php
--- /home/jean/gestion/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php      
2006-11-25 11:18:07.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php      
2007-01-23 15:17:10.724950880 -1000
@@ -15,7 +15,7 @@
function hello($name){ -$returnedString = "Hello de Tetiaroa ".$name." !";
+$returnedString = "Coucou de Tetiaroa ".$name." !";
 return $returnedString;
} ------------------------------------------------------------------------

_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr
IM: IRC=Eldy, Jabber=Eldy

AWStats (Author) : http://awstats.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
AWBot (Author) : http://awbot.sourceforge.net
Dolibarr (Contributor) : http://www.dolibarr.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]