J'ai créé un service web dans Delphi XE en utilisant l'importateur WSDL. Delphi a généré pour moi le module ITransmitter1.pas avec Interface ITransmitter et fonction GetITransmitter.Comment fonctionnent les services web Delphi? (Ajout de méthode en runtime ??)
Pour utiliser webservice-je utiliser:
var Transmitter: ITransmitter;
begin
Transmitter := GetITransmitter(True, '', nil);
Transmitter.Transmit(Memo1.Text, OutXML);
end;
Mais je ne peux pas voir partout le corps de la méthode de transmission ...
En ITransmitter.pas je vois:
InvRegistry.RegisterInterface(TypeInfo(ITransmitter), 'urn:TransmitterIntf-ITransmitter', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(ITransmitter), 'urn:TransmitterIntf-ITransmitter#Transmit');
Si je commente cette ligne je reçois l'erreur "interface non supporté". Comme je le vois ici, delphi ajoute une méthode dans RunTime! Comment ça marche? Puis-je ajouter une méthode en cours d'exécution à ma propre classe?
Je ne peux pas déboguer ma méthode Transmitter.Transmit. Et je me demande encore quelle méthode est en fait exécutée quand j'appelle Transmitter.Transmit? Habituellement, quand j'appelle une méthode, je vois le code placé dans un fichier .pas. Maintenant, je n'ai aucune idée de ce qui se passe réellement quand j'appelle cette méthode ... – Astronavigator