Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Windev 18 : Client Soap

1 réponse
Avatar
vegetacherif
Bonjour,
J'ai un problème avec un service web de popfax, je veux intégrer leur solution dans une application développé sous windev.
J’ai importé le service web de ce lien :
https://api3.popfax.com/?service=Popfax&wsdl
Et lorsque j'essaie d'authentifié par la fonction
SOAPExécute et SOAPAjouteEntête j'ai d'erreurs qu’ils affichent.
Voici le code en question :
smd5 est une chaîne
sSchaine est une chaîne = HashChaîne(HA_MD5_128,"Motsdepasse")
smd5=""
POUR i = 1 _A_ Taille(sSchaine)
smd5+=NumériqueVersChaîne(Asc(sSchaine[[i]]),"02x")
FIN
SOAPAjouteEntête("PopfaxService","nom@hotmail.com",smd5,Vrai)
ResExécution est un booléen =SOAPExécute("http://schemas.xmlsoap.org/ws/2002/07/secext","authenticate")
// La communication avec le serveur est-elle correcte ?
SI ResExécution = Vrai ALORS
// L'exécution de la procédure est-elle correcte ?
SI SOAPDonneRésultat(SOAPRésultat) <> "" ALORS
// Affichage du résultat retourné par la procédure
Info("La température est de : " + SOAPDonneRésultat(SOAPRésultat))
SINON
// Affichage de l'erreur retournée par le serveur SOAP
Erreur(SOAPErreur(SOAPErrMessage))
FIN
SINON
Erreur(ErreurInfo(errMessage))

Info("ko")

FIN

Et voilà les erreurs :
Le serveur a bien retourné une repense, mais il ne s'agit pas d'une enveloppe Soap
Vous pouvez traiter cette repense AVEC
SOAPDonneRésultat(SOAPRésultatXML)
SOAPDonneRésultat(SOAPRésultatHTTP)

Le deuxième Erreur

HTTP/1.1 405 Method Not Allowed
Allow : Get ,head, options, Trace
the page you are looking for cannot be displayed an invalid
method (http verb) is being used


Et j'ai testé ca :
smd5 est une chaîne
sSchaine est une chaîne = HashChaîne(HA_MD5_128,"motdepasse")
smd5=""
POUR i = 1 _A_ Taille(sSchaine)
smd5+=NumériqueVersChaîne(Asc(sSchaine[[i]]),"02x")
FIN
SOAP.Valeur[1] = "monemail@gmail.com"
SOAP.Nom[1] = "email" // Ce nom est donnée par le service WEB
SOAP.Type[1] = SOAPTypeChaîne
SOAP.Valeur[2] =smd5 // "a4whtj9e" //smd5
SOAP.Nom[2] = "password" // Ce nom est donnée par le service WEB
SOAP.Type[2] = SOAPTypeChaîne
ResExécution est un booléen =SOAPExécute("http://schemas.xmlsoap.org/ws/2002/07/secext","PopfaxService.authenticate")
// La commu,ication avec le serveur est-elle correcte ?
SI ResExécution = Vrai ALORS
// L'exécution de la procédure est-elle correcte ?
SI SOAPDonneRésultat(SOAPRésultat) <> "" ALORS
// Affichage du résultat retourné par la procédure
Info("La température est de : " + SOAPDonneRésultat(SOAPRésultat))
SINON
// Affichage de l'erreur retournée par le serveur SOAP
Erreur(SOAPErreur(SOAPErrMessage))
FIN
SINON
Erreur(ErreurInfo(errMessage))
Info(SOAPDonneRésultat(SOAPRésultatXML))
Info(SOAPDonneRésultat(SOAPRésultatHTTP))
Info("ko")

FIN

Et les mêmes erreurs qu’ils affichent.
J’ai une semaine que je cherche la solution dans les forums comme le forum de pcsoft et d'autre mais y a de repense.
Est-ce quelqu'un a déjà utilise le soap cote client sous windev peut m'aide ?
Voilà le fichier fourni par popfax :
http://www.popfax.com/docs/m2popfax.pdf
Aide-moi
Merci

1 réponse

Avatar
popfax
Le lundi 09 Juin 2014 à 13:19 par vegetacherif :
Bonjour,
J'ai un problème avec un service web de popfax, je veux intégrer
leur solution dans une application développé sous windev.
J’ai importé le service web de ce lien :
https://api3.popfax.com/?service=Popfax&wsdl
Et lorsque j'essaie d'authentifié par la fonction
SOAPExécute et SOAPAjouteEntête j'ai d'erreurs qu’ils
affichent.
Voici le code en question :
smd5 est une chaîne
sSchaine est une chaîne =
HashChaîne(HA_MD5_128,"Motsdepasse")
smd5=""
POUR i = 1 _A_ Taille(sSchaine)
smd5+=NumériqueVersChaîne(Asc(sSchaine[[i]]),"02x")
FIN
SOAPAjouteEntête("PopfaxService","",smd5,Vrai)
ResExécution est un booléen
=SOAPExécute("http://schemas.xmlsoap.org/ws/2002/07/secext","authenticate")
// La communication avec le serveur est-elle correcte ?
SI ResExécution = Vrai ALORS
// L'exécution de la procédure est-elle correcte ?
SI SOAPDonneRésultat(SOAPRésultat) <> "" ALORS
// Affichage du résultat retourné par la procédure
Info("La température est de : " +
SOAPDonneRésultat(SOAPRésultat))
SINON
// Affichage de l'erreur retournée par le serveur SOAP
Erreur(SOAPErreur(SOAPErrMessage))
FIN
SINON
Erreur(ErreurInfo(errMessage))

Info("ko")

FIN

Et voilà les erreurs :
Le serveur a bien retourné une repense, mais il ne s'agit pas d'une
enveloppe Soap
Vous pouvez traiter cette repense AVEC
SOAPDonneRésultat(SOAPRésultatXML)
SOAPDonneRésultat(SOAPRésultatHTTP)

Le deuxième Erreur

HTTP/1.1 405 Method Not Allowed
Allow : Get ,head, options, Trace
the page you are looking for cannot be displayed an invalid
method (http verb) is being used


Et j'ai testé ca :
smd5 est une chaîne
sSchaine est une chaîne =
HashChaîne(HA_MD5_128,"motdepasse")
smd5=""
POUR i = 1 _A_ Taille(sSchaine)
smd5+=NumériqueVersChaîne(Asc(sSchaine[[i]]),"02x")
FIN
SOAP.Valeur[1] = ""
SOAP.Nom[1] = "email" // Ce nom est donnée par le service WEB
SOAP.Type[1] = SOAPTypeChaîne
SOAP.Valeur[2] =smd5 // "a4whtj9e" //smd5
SOAP.Nom[2] = "password" // Ce nom est donnée par le service
WEB
SOAP.Type[2] = SOAPTypeChaîne
ResExécution est un booléen
=SOAPExécute("http://schemas.xmlsoap.org/ws/2002/07/secext","PopfaxService.authenticate")
// La commu,ication avec le serveur est-elle correcte ?
SI ResExécution = Vrai ALORS
// L'exécution de la procédure est-elle correcte ?
SI SOAPDonneRésultat(SOAPRésultat) <> "" ALORS
// Affichage du résultat retourné par la procédure
Info("La température est de : " +
SOAPDonneRésultat(SOAPRésultat))
SINON
// Affichage de l'erreur retournée par le serveur SOAP
Erreur(SOAPErreur(SOAPErrMessage))
FIN
SINON
Erreur(ErreurInfo(errMessage))
Info(SOAPDonneRésultat(SOAPRésultatXML))
Info(SOAPDonneRésultat(SOAPRésultatHTTP))
Info("ko")

FIN

Et les mêmes erreurs qu’ils affichent.
J’ai une semaine que je cherche la solution dans les forums comme le
forum de pcsoft et d'autre mais y a de repense.
Est-ce quelqu'un a déjà utilise le soap cote client sous windev
peut m'aide ?
Voilà le fichier fourni par popfax :
http://www.popfax.com/docs/m2popfax.pdf
Aide-moi
Merci


Bonjour.
Les API de Popfax offrent le service via le protocole SOAP qui est un protocole standard utilisé pour les services Web. Pour intégrer notre service dans votre langage de programmation spécifique, veuillez retrouver une bibliothèque capable d'implementeraui supporte SOAP pour ce langage. Par exemple:
* Pour C/C++ on utilise la bibliothèque GSOAP;
* Pour PHP - NUSOAP, ou bien les fonctions natives PHP SOAP;
* Pour Java il y en a quelques bibliothèques qui supportent le protocole SOAP.
En savoir plus, veuillez accéder à http://fr.popfax.com/index.php?pop=corporate&corp=integrators_offers ou bien demandez le rappel sur http://www.popfax.com