|
WD 22 - Envoyer une requéte HTTPS vers Chorus |
Started by Jonathan, Feb., 08 2018 5:45 PM - 3 replies |
| |
| | | |
|
| |
Registered member 3 messages Popularité : +1 (1 vote) |
|
Posted on February, 08 2018 - 5:45 PM |
Bonjour,
J'ai besoin d'envoyer des requêtes HTTPS vers l'API Chorus afin de pouvoir communiquer des factures en dématérialisation. Pour ce faire, j'ai essayé d'envoyer une requête HTTPS (avec certificat) par le logiciel SOAP - UI. Dans ce cas-ci, pas de problème. Or, quand j'essaie avec Windev je n'arrive pas à communiquer avec l'API. L'erreur me dit que le serveur ne répond pas.
Voici mon code :
MaHttp est une restRequête MaReponse est un restRéponse Param est une chaîne ANSI url est une chaîne
url = "https://chorus-pro.gouv.fr:5443/service-qualif/factures/rechercher/recipiendaire"
tabCertificat = CertificatCharge(Chemin,Clé) MonCertificat = tabCertificat[1]
MaHttp.URL = url MaHttp.ContentType = "application/json" Param = [ {"idUtilisateurCourant" : XXXXXXX} ] MaHttp.Contenu = Param MaHttp.Entête["Accept-charset"] = "UTF-8" MaHttp.Entête["Accept-language"] = "fr_FR" MaHttp.Entête["Authorization"] = "Basic "+Crypte("user:mdp","",crypteAucun,encodeBASE64) MaHttp.Méthode = httpPost
HTTPCertificat(MonCertificat.Empreinte) MaReponse = RESTEnvoie(MaHttp) SI ErreurDétectée ALORS Erreur(ErreurInfo(errComplet)) SINON Info(MaReponse.Contenu) FIN
Merci de votre aide par avance. |
| |
| |
| | | |
|
| | |
| |
Posted on May, 23 2018 - 6:01 PM |
Bonjour,
Même problème.
As-tu trouvé la solution ? |
| |
| |
| | | |
|
| | |
| |
Posted on August, 14 2018 - 11:52 AM |
Bonjour,
ça doit être un problème de certificat si le serveur ne répond pas. moi je l'ai fais en curl et il a fallu fournir deux certificats: le pem et le pkey
Bon courage |
| |
| |
| | | |
|
| | |
| |
Posted on September, 10 2018 - 6:32 PM |
Bonjour,
Voici la solution technique que nous avons mis en oeuvre Le certificat P12 doit être installé sur le poste client. Le certificat P7B doit avec été paramétré sur l'accès technique sur le portail Chorus
MonJsonIn est un Buffer vJsonIn est un Variant
sURL est une chaîne ="https://chorus-pro.gouv.fr:5443/service-qualif/structures/consulter"
sTypeContenu est une chaîne = "application/json"
user est une chaîne = "TECH_MonTech@cpp2017.fr"
mdp est une chaîne = "MonMotDePasse"
vJsonIn.idStructureCPP=250 vJsonIn.codeLangue = "FR" MonJsonIn = VariantVersJSON(vJsonIn)
a_encoder est une chaîne = user+":"+mdp
auth_base64 est une chaîne = Crypte(a_encoder, "", compresseAucun + crypteAucun, encodeBASE64)
sHeaderAuth est une chaîne = ChaîneVersUTF8("Authorization: Basic "+auth_base64)
ListeCertif est une chaîne = HTTPListeCertificat() Certif est une chaîne = ExtraitChaîne(ExtraitChaîne(ListeCertif, 1, RC), 3, TAB) HTTPCertificat(Certif)
ResLancement est un booléen = HTTPRequête(sURL,"",sHeaderAuth,MonJsonIn,sTypeContenu)
SI ResLancement = Faux ALORS SELON ErreurInfo(errCode) CAS httpErreurCertificatInvalide : SI OuiNon("Alerte de sécurité détectée !", ... "Certificat invalide.", ... "Ignorer ce certificat ?") = Oui ALORS HTTP.IgnoreErreur = httpIgnoreCertificatInvalide HTTPRequête("https://www.MonServeur.com") FIN CAS httpErreurCertificatExpiré : SI OuiNon("Alerte de sécurité détectée !", ... "Date du certificat invalide ou expiré.", ... "Ignorer cette date ?") = Oui ALORS HTTP.IgnoreErreur = httpIgnoreCertificatExpiré HTTPRequête("https://www.MonServeur.com") FIN FIN ELSE ResCode est une chaîne = HTTPDonneRésultat() Info("Code HTML : " + ResCode) ResEntête est une chaîne = HTTPDonneRésultat(httpEntête) Info("Entête : " + ResEntête) ResCookie est une chaîne = HTTPDonneRésultat(httpCookie) Info("Cookie : " + ResCookie) FIN |
| |
| |
| | | |
|
| | | | |
| | |
|