DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions HTTP
  • Erreur de sécurité dans une transaction sécurisée
  • Permissions requises
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Envoie une requête REST et attend la réponse du serveur.
Exemple
cMaRequete est un httpRequête
cMaRequete.URL = "<adresse serveur>"
cMaReponse est un httpRéponse = RESTEnvoie(cMaRequete)
SI ErreurDétectée ALORS
	Erreur(ErreurInfo(errComplet))
SINON
	Info(cMaReponse.Contenu)
FIN
// L'exemple de code ci-dessous montre comment appeler un Webservice REST WINDEV avec paramètres.
// La procédure dans le Webservice est de cette forme :
// PROCEDURE PRIVÉE UpdateBandeauhaut(bModeTest est un booléen)

// L'URL de test est alors de la forme suivante :
// http://<IP du serveur>/<composante commune>
// ?test#/<composante commune>/UpdateBandeauhaut/{bModeTest}|GET

// Code WLangage permettant de l'appeler en passant le paramètre
cMaRequete est un httpRequête
cMaRequete.Méthode = httpGet
cMaRequete.URL = "http://<IP du serveur>/CDM/UpdateBandeauhaut/1" 
//Où CDM est la composante commune et 1 la valeur du paramètre

cMaReponse est un httpRéponse = RESTEnvoie(cMaRequete)
SI ErreurDétectée ALORS
	Erreur(ErreurInfo(errComplet))
SINON
	SI cMaReponse.Contenu = Vrai ALORS
		Info("Le site a bien été mis à jour.")
	SINON
		Erreur(cMaReponse.Contenu)
	FIN
FIN
Syntaxe

Syntaxe utilisant une variable de type restRequête Masquer les détails

<Réponse REST> = RESTEnvoie(<Requête REST>)
<Réponse REST> : Variable de type restRéponse
Nom de la variable de type restRéponse contenant la réponse reçue du serveur REST.
<Requête REST> : Variable de type restRequête
Nom de la variable de type restRequête contenant les caractéristiques de la requête REST à envoyer au serveur.

Syntaxe simplifiée d'envoi d'une requête Masquer les détails

<Réponse REST> = RESTEnvoie(<URL>)
<Réponse REST> : Variable de type restRéponse
Nom de la variable de type restRéponse contenant la réponse reçue du serveur REST.
<URL> : Chaîne de caractères
URL à interroger.
WINDEVWEBDEV - Code NavigateurAndroidWidget Android

Syntaxe asynchrone utilisant une variable de type restRequête Masquer les détails

RESTEnvoie(<Requête HTTP> , <Procédure WLangage>)
<Requête HTTP> : Variable de type restRequête
Nom de la variable de type restRequête contenant les caractéristiques de la requête REST à envoyer au serveur.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage appelée lors de la réponse du serveur REST. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Réponse> est une restRéponse)
où <Réponse> est une variable de type restRéponse contenant la réponse reçue du serveur REST.
WINDEVWEBDEV - Code NavigateurAndroidWidget Android

Syntaxe asynchrone simplifiée d'envoi d'une requête Masquer les détails

RESTEnvoie(<URL> , <Procédure WLangage>)
<URL> : Chaîne de caractères
URL à interroger.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage appelée lors de la réponse du serveur REST. Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Réponse> est une restRéponse)
où <Réponse> est une variable de type restRéponse contenant la réponse reçue du serveur REST.
Remarques
  • WindowsLinuxAndroidWidget AndroidiPhone/iPadWidget IOS Pour connaître les erreurs d'exécution de cette fonction, utilisez les fonctions ErreurDétectée et ErreurInfo.
  • WEBDEV - Code Navigateur L'accès aux API REST d'un domaine autre que celui qui héberge le site à partir d'un code navigateur (Cross-domain) est bloqué par défaut (Cross-Origin Request Blocked). Pour lever ce blocage, des autorisations spécifiques doivent être configurées sur le serveur Web. Ce thème est abordé dans le billet suivant du blog du support : https://blogs.pcsoft.fr/fr/autoriser-acces-api-rest-domaine-cors

Erreur de sécurité dans une transaction sécurisée

Lors d'une transaction sécurisée, certaines erreurs de sécurité peuvent faire échouer la requête :
  • certificat invalide ou ne provenant pas d'une société connue.
  • nom du site figurant dans le certificat ne correspond pas à un serveur.
  • date du certificat non-valide ou expiré.
  • renvoi vers un serveur non sécurisé.
Ces erreurs sont renvoyées par la fonction ErreurInfo.
Si une de ces erreurs est rencontrée, il est possible d'exécuter à nouveau la requête en ignorant ces erreurs. Pour cela, il suffit de modifier la propriété IgnoreErreur de la variable de type httpRequête :
Erreur renvoyée par la fonction ErreurInfo
(avec la constante errCode)
Valeur de la propriété IgnoreErreur de la variable de type restRequête
(ces valeurs peuvent être combinées)
Description
httpErreurCertificatInvalide
Certificat invalide ou ne provenant pas d'une société connue.
httpIgnoreCertificatInvalideLe certificat est ignoré.
httpErreurNomCertificatInvalide
Nom du site figurant dans le certificat ne correspond pas à un serveur.
httpIgnoreNomCertificatInvalideLe nom du site figurant dans le certificat est ignoré.
httpErreurCertificatExpiré
Date du certificat non-valide ou expiré.
httpIgnoreCertificatExpiréLa date du certificat est ignorée.
httpIgnoreDépréciéIgnore les erreurs en lien avec l'utilisation d'algorithmes dépréciés (exemple : signature de certificat en SHA-1).
httpErreurRenvoiHTTP
Renvoi vers un serveur non sécurisé.
httpIgnoreRenvoiHTTPLe renvoi vers un serveur non sécurisé est autorisé.
httpErreurRenvoiHTTPS
Renvoi vers un serveur sécurisé.
httpIgnoreRenvoiHTTPSLe renvoi vers un serveur sécurisé est autorisé.
httpIgnoreRenégociationNonSecuriséeIgnore l'erreur stipulant que le serveur ne supporte pas la renégociation sécurisée (RFC 5746).
httpIgnoreRévocationLe contrôle du certificat dans la liste des certificats révoqués n'est pas effectué.

Remarques :
  • Lorsque des requêtes HTTP sont faites dans plusieurs threads, la variable HTTP.IgnoreErreur possède une valeur spécifique par thread.
  • AndroidWidget Android Les erreurs suivantes sont gérées : httpIgnoreCertificatExpiré, httpIgnoreCertificatInvalide, httpIgnoreNomCertificatInvalide, httpIgnoreRévocation, httpIgnoreRedirection.
AndroidWidget Android

Permissions requises

L'utilisation de cette fonction entraîne la modification des permissions requises par l'application.
Permission requise : INTERNET.
Cette permission permet aux applications d'ouvrir des sockets réseau.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 29/11/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale