Je voudrais forcer le NameSpace dans la Balise SOAP d'un paramètre de fonction, aujourd'hui Delphi me génère ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<SOAP-ENV:Body>
  <LaFunction xmlns="urn:Truc.Bidule.Uzinagaz">
    <LeParametre> ... bla bla bla ...
et je DOIS générer ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<SOAP-ENV:Body>
  <LaFunction xmlns="urn:Truc.Bidule.Uzinagaz">
    <LeParametre xmlns="http://schemas.microsoft.com/BizTalk/2003/Any"> ... bla bla bla ...
Alors pour le moment, j'ai fait ma propre classe de THTTPRIO, puisque l'évènement OnBeforeExecute ne permet pas de modifier la requête (contrairement à ce que dit l'aide), semble que le TRIO de l'unité rio, n'est pas la meilleure oeuvre de la VCL, dixit les commentaires qui y sont présents ... et pas rassurant ... et donc j'ai surchargé (oh chance, c'est déclaré en virtual) la méthode DoBeforeExecute, ou je modifie à la volée le SOAP généré avant sa soumission en ajoutant manuellement l'attribut xmlns dans LeParametre ... Bricolage !

Si il existe une solution propre en D7, je suis preneur, et pour ma culture et pour montrer à mes chefs que Delphi 2009, c'est mieux, si il y a une méthode dedans aussi, je suis preneur ... déjà que le TXMLData n'existait pas en D7, ... voir ce sujet pour supporter l'envoi d'un XML directement dans le SOAP reçu par un WebService utilisant Microsoft BizTalk

J'ai trouvé le sujet [d6][expert WSDL] problème d'espace de nom. qui est resté sans réponse