PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Mettre fin à un webservice dans le code d'initialisation
Mettre fin à un webservice dans le code d'initialisation
Débuté par Lili05111991, 11 oct. 2017 12:13 - 7 réponses
Membre enregistré
48 messages
Posté le 11 octobre 2017 - 12:13
Bonjour,

dans un projet de type webservice SOAP, j'ai besoin de stopper l'exécution du webservice dans le code d'initialisation.

Dans le code d'initialisation, je fais un certain nombre de contrôle et si ces contrôles ne passent pas, je voudrais que l'exécution n'aille pas plus loin (que le code de la fonction appelée ne soit pas exécuté).

J'ai essayé via RENVOYER mais la suite du code s'exécute...

Avez-vous une solution ?

Merci

Aurélie

--
Aurélie - Ingénieur d'étude et de développement chez KERTIOS
"Chercher n'est pas une chose et trouver une autre, mais le gain de la recherche, c'est la recherche même." - Saint Grégoire de Nysse
Message modifié, 11 octobre 2017 - 12:14
Membre enregistré
48 messages
Posté le 11 octobre 2017 - 13:03
Bon et bien le seul moyen est d'effectuer mes contrôles dans une nouvelle fonction que j'appelle au début des autres fonctions.

--
Aurélie - Ingénieur d'étude et de développement chez KERTIOS
"Chercher n'est pas une chose et trouver une autre, mais le gain de la recherche, c'est la recherche même." - Saint Grégoire de Nysse
Membre enregistré
22 messages
Popularité : +4 (4 votes)
Posté le 11 octobre 2017 - 13:17
bonjour,
Un FinProgramme() ?

--
Tous nos logiciels sur https://www.jsoft.fr/
Membre enregistré
48 messages
Posté le 11 octobre 2017 - 14:02
Jsoft a écrit :
bonjour,
Un FinProgramme() ?

--
Tous nos logiciels sur https://www.jsoft.fr/


Bonjour, non j'ai essayé et cela ne fait rien...

--
Aurélie - Ingénieur d'étude et de développement chez KERTIOS
"Chercher n'est pas une chose et trouver une autre, mais le gain de la recherche, c'est la recherche même." - Saint Grégoire de Nysse
Membre enregistré
38 messages
Popularité : +3 (3 votes)
Posté le 11 octobre 2017 - 15:28
Bonjour,

Il y a "la méthode bourrin", mais bon...

ChaîneAffiche("Exécution stoppée")
FinProgramme()


Cordialement,

Aurélien
Membre enregistré
48 messages
Posté le 11 octobre 2017 - 16:20
Aurélien a écrit :
Bonjour,

Il y a "la méthode bourrin", mais bon...

ChaîneAffiche("Exécution stoppée")
FinProgramme()


Cordialement,

Aurélien



Bonjour,

comme il s'agit d'un programme sous WINDEV, la fonction ChaineAffiche() n'est pas utilisable.

J'ai finalement décider d'effectuer mes contrôles dans une nouvelle fonction que j'appelle au début des autres fonctions.
Mon code et d'ailleurs plus lisible.

Cordialement

Aurélie

--
Aurélie - Ingénieur d'étude et développement chez KERTIOS
"Chercher n'est pas une chose et trouver une autre, mais le gain de la recherche, c'est la recherche même." - Saint Grégoire de Nysse
Membre enregistré
38 messages
Popularité : +3 (3 votes)
Posté le 11 octobre 2017 - 17:03
Tu peux utiliser la fonction ExceptionDéclenche()

Voici un exemple pour gérer l'authentification des utilisateurs du webservice.

Code dans l'init du projet
SI utilisateurEstAuthentifie() = Faux ALORS
// Déclenche une exception et arrête le traitement en cours
ExceptionDéclenche(1, "Authentification requise")
FIN


Code dans l'application mobile
// Appel de la fonction fournit par le webservice
MaFonctionWS()

SI ErreurDétectée() ALORS
// Récupère et affiche le message de l'exception
Erreur(ErreurInfo(errInfo))
SINON
// Suite du traitement
...
FIN


PS : Je confirme que ChaîneAffiche() fonctionne dans un projet Windev avec une configuration webservice.

Aurélien
Message modifié, 11 octobre 2017 - 17:06
Membre enregistré
48 messages
Posté le 16 octobre 2017 - 10:21
Aurélien a écrit :
Tu peux utiliser la fonction ExceptionDéclenche()

Voici un exemple pour gérer l'authentification des utilisateurs du webservice.

Code dans l'init du projet
SI utilisateurEstAuthentifie() = Faux ALORS
// Déclenche une exception et arrête le traitement en cours
ExceptionDéclenche(1, "Authentification requise")
FIN


Code dans l'application mobile
// Appel de la fonction fournit par le webservice
MaFonctionWS()

SI ErreurDétectée() ALORS
// Récupère et affiche le message de l'exception
Erreur(ErreurInfo(errInfo))
SINON
// Suite du traitement
...
FIN


PS : Je confirme que ChaîneAffiche() fonctionne dans un projet Windev avec une configuration webservice.

Aurélien
Message modifié, 11 octobre 2017 - 17:06



Bonjour,

Merci de votre réponse.
Le prestataire qui va utiliser notre webservice attend un format bien particulier en retour qui n'est pas une faute SOAP (dans le cas où il n'y a pas de problème et dans le cas où il n'y a pas de problème).
Du coup, je ne peux pas utiliser d'ExceptionDéclenche().
J'effectue mes contrôles au début de chacune de mes fonctions et en cas d'erreur je lui renvoie le format attendu.
Mon code est d'ailleurs plus lisible et plus propre.

Pour ChaineAffiche(), je le saurais désormais (il faudrait qu'il mettent à jour l'aide sur cette fonction...).

Cordialement

Aurélie

--
Aurélie - Ingénieur d'étude et développement chez KERTIOS
"Chercher n'est pas une chose et trouver une autre, mais le gain de la recherche, c'est la recherche même." - Saint Grégoire de Nysse