Bonjour à tous,
Je cherche des infos concernant l'écriture d'un client Soap à partir de l'import de fichier WSDL.
Premier défaut, à la création de mon client :
Si je déclare mon Client avec la première ligne, je peux aisément faire appel aux procédures BeforeExecution de HTTPRIO_V0 pour faire afficher les trames XML transmises et reçues, mais la fermeture de engendre une exception pour Pointer incorrect. Si je déclare mon client avec la seconde ligne, je n'ai plus de défaut à la fermeture de l'application mais évidemment, les procédures de HTTPRIO_V0 ne sont plus traitées !!!.
Question : Dois-je fermer ou détruire HTTPRIO_V0 (qui est un objet HTTPRIO collé sur mon appli principale) avant de détruire TFormMain ?
Autre point :
J'ai des difficulté pour transmettre une entête dans une requête Soap client.
L'importation du fichier WSDL s'effectue correctement et le Client Soap se connecte parfaitement à mon serveur, avant l'ajout de l'entête.
Comme le serveur me retourne, après ma connexion, in numéro de Session, je dois ensuite, pour chaque requête, lui transmettre ce même identifiant, dans l'entête.
Mon code est le suivant :
dans le fichier importé du WSDL, la définition du type d'entête :
et :
L'application est parfaitement acceptée mais à la première requête Soap utilisant l'entête, j'ai le défaut :
Sur la doc embarcadero, je trouve :
Notez qu'à la différence des autres classes distantes, qui sont recensées automatiquement lorsque vous recensez une interface invocable qui les utilise, vous devez explicitement écrire du code pour recenser vos types d'en-têtes.
Quelqu'un peut-il me donner une idée de l'erreur. Quel code dois-je écrire pour recenser les entêtes ?
Merci par avance.
Evidemment, si vous avez des exemples de d'appli Soap Client, je suis preneur...
Diter,
Partager