Je me permet de poster ce message pour faire part de mes difficultés à utiliser les objets métier avec PHP.
En résumé, voici mon environnement :
- SAGE, dans sa version SQL Server sur un serveur Windows
- Un serveur Web sur un autre serveur Windows avec le trio Apache / PHP / MySQL (bon, pour le coup, MySQL n'aura pas d'intérêt) sur lequel j'ai installé les objets métier.
Souhaitant mettre en place une sorte de webservice basé sur Apache/PHP pour intéroger les stocks ou passer des ordres des créations de devis et de clients, j'ai décidé de passer par les objets métier plutôt que l'odbc ou de passer par du SQL pur (bien que pour les intérogations de stock, le SQL pur peut me suffir).
Donc ! Pour l'aspect webservice (jeux de questions/réponses entre les sites web et le serveur web), pas de souci, j'en fait mon affaire. Mais pour l'utilisation des objets métiers c'est une autre affaire !
Après avoir trouvé cette discution, j'ai attaqué ma connexion aux objets métier mais la méthode Open() me retourne l'erreur suivante :
Fatal error: Uncaught exception 'com_exception' with message 'Source: Objets100.Cial.Stream.3
Description: La classe n'a pas de licence d'utilisation.
' in C:\path_webservices\get_stock.php:12
Stack trace:
#0 C:\path_webservices\get_stock.php(12): com->Open()
#1 {main}
thrown in C:\path_webservices\get_stock.php on line 12
Mon code est le suivant :
- Code: Tout sélectionner
$_GESCO = new COM("objets100.cial.stream.3") or die("Impossible de démarrer");
$_GESCO->Name = PATH_GCM_SOCIETE;
$_GESCO->Loggable->UserName = 'monuser';
$_GESCO->Loggable->UserPwd = 'sonpass';
$_GESCO->Open();
if ($conn->IsOpen) echo "gescom ouverte '".PATH_GCM_SOCIETE."'\n"; else echo "Erreur d ouverture\n";
$_GESCO->Close();
$_GESCO = null;
A savoir que :
- Le path de mon fichier .gcm est bon (et testé via is_file() non présent dans ce bout de code
- Oui, la ligne 12 ne correspond pas au bout de code
Si vous auriez des infos !
En vous remerciant par avance.
Stéph'

