Bonjour,
je voudrais savoir s'il est possible via script de savoir si les services SOAP / WSPROD sont en cours d'execution ?
Merci d'avance
Bonjour,
je voudrais savoir s'il est possible via script de savoir si les services SOAP / WSPROD sont en cours d'execution ?
Merci d'avance
Bonjour ,
Votre question est toujours en attente d’un retour de la Communauté.
La richesse de ce forum repose sur la participation de tous. Chaque partage d’expérience contribue à faire progresser les connaissances et à renforcer l’entraide entre utilisateurs.
N’hésitez pas à rejoindre les échanges et à apporter votre expertise sur d’autres sujets lorsque cela est possible.
Lorsque vous recevez une réponse utile, pensez à la vérifier afin de valoriser son auteur et de rendre la solution plus visible pour l’ensemble de la Communauté.
Aurélie
Bonjour Christophe ,
Merci d'utiliser Community Hub.
À ce jour, aucun membre de la Communauté n'a pu vous apporter de réponse. Après échange avec nos équipes, votre demande semble nécessiter une analyse plus approfondie.
Nous vous invitons à ouvrir un ticket auprès du support technique, qui pourra étudier votre situation plus en détail.
Si une solution est apportée, nous serions ravis que vous la partagiez ici afin d'en faire bénéficier l'ensemble de la Communauté.
Aurélie
Bonjour Christophe,
Oui, c'est possible : l'API REST de Syracuse expose l'état des pools SOAP. Il faut simplement viser la bonne collection, car il y en a deux et celle au nom le plus évident n'est pas la bonne :
soapClassicPools renvoie la configuration des pools : alias, démarrage automatique, taille initiale et maximale, délais d'attente. Elle ne dit pas si le pool tourne.soapPoolStates renvoie l'état d'exécution. C'est celle qu'il vous faut.Un GET en authentification Basic, avec un compte disposant des droits d'administration :
GET http://<serveur>/api1/syracuse/collaboration/syracuse/soapPoolStates
La réponse est du JSON. Pour n'obtenir qu'un pool précis :
GET http://<serveur>/api1/syracuse/collaboration/syracuse/soapPoolStates ?representation=soapPoolState.$query&where=(alias eq 'MONPOOL')
Dans chaque état retourné, les propriétés utiles sont :
status : started quand le pool tourne, c'est votre réponsealias : le pool concernéchannelsCount, channelsAvailable, channelsUsed : canaux ouverts, libres, occupéswsCount : appels servis depuis le démarragewsQueue : appels en attenteerrorMessage : vide quand tout va bienhost, pName, pid : la machine et le processus Syracuse qui portent le poolUn point à connaître avant d'écrire votre test : vous obtenez une ligne par processus Syracuse, pas une par pool. Sur un serveur qui en fait tourner plusieurs, le même alias ressort autant de fois qu'il y a de processus. Il faut donc parcourir les ressources et conclure « le pool tourne » dès qu'au moins un état est à started, plutôt que de vous arrêter au premier élément. Dans le même esprit, un alias qui ne ressort pas du tout dans la réponse est un pool qui n'est pas démarré, ce qui se traduit par une liste vide et non par un statut explicite.
Pour l'appeler depuis un traitement L4G en V12, le plus propre est le client REST standard EXEC_REST_WS du traitement ASYRRESTCLI. Vous déclarez une fois côté Syracuse un service REST qui porte le serveur et le compte, puis vous l'appelez en GET avec la sous-URL ci-dessus. Il vous rend le code HTTP et le corps de la réponse dans un Clbfile, que vous pouvez exploiter directement avec instr et mid$ pour récupérer les couples alias et statut. Attention à la sous-URL : selon la façon dont le service REST est déclaré, le chemin api1/syracuse/... est déjà dans l'URL de base ou reste à passer dans l'appel.
Si vous cherchez simplement à surveiller, un curl lancé par Call SYSTEME(...) From ORDSYS et redirigé vers un fichier fait aussi très bien le travail.
Vous pouvez brancher cela sur une tâche batch : si un pool attendu n'est pas started, vous envoyez l'alerte. wsQueue mérite d'être surveillé au passage, une file qui monte signale un pool trop petit avant que les appels ne commencent à échouer.
Nous avons mis en place plusieurs bibliothèques de ce type chez nos clients, autour des API REST de Syracuse comme des web services SOAP : la lecture de l'état des pools, mais aussi leur démarrage et leur arrêt depuis un traitement. Si vous butez sur un point précis de la mise en œuvre, dites-le ici, je regarderai volontiers.
Bonne journée,
Piotr de DevX3
bonjour, je vous remercie pour votre réponse. j'ai commencé par tester le GET. j'ai le nom du serveur + port mais je bloque sur les credentials j'ai contacté mon prestataire pour les obtenir
cdt
Christohpe
Il est préférable de créer un user dédié, par exemple WEB (avec un groupe et un rôle qui utilise un badge FULL) - que d'utiliser ADMIN et prendre un badge ERPDEV.
Cdlt,
Piotr
je croyais que c'était un compte windows / ok avec le compte admin / par contre mon compte ERPFULL est rejeté / ca me va tres bien comme ca je valide la réponse
merci
*Community Hub is the new name for Sage City