IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

Envoi d'une requête vers un service web et réception de la réponse en utilisant THTTPRIO


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut Envoi d'une requête vers un service web et réception de la réponse en utilisant THTTPRIO
    Bonjour à tous;
    Voici mon problème :
    Je dois communiquer avec un service web (dont je ne suis pas le concepteur) pour envoyer une requête et recevoir la réponse. J'ai importé le fichier WSDL nécessaire mais je n'ai pas très bien compris l'organisation des classes.
    J'ai les modèles xml de la requête et la réponse. Je cherche un moyen simple de recevoir le fichier xml réponse. Est-il possible de faire cela en utilisant un composant THTTPRIO seulement, si oui, j'aimerai juste avoir quelques éclaircissement sur la manière de le faire. Je vous remercie d'avance pour toute réponse ou aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    J'ai paramétré Mon THTTPRIO avec l'URL, le service, le port et les autres infos du service web, puis j'ai mis le texte du fichier xml correspondant à la requête dans un TMEMO (Memo1).
    Pour envoyer la requête, je clique sur un bouton dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
    Xml:TMemoryStream;
    XmlRep:TStream;
    begin
    xml:=tMemorystream.Create;
    Memo1.Lines.SaveToStream(xml);
    XmlRep:=tmemorystream.Create;
    xmlrep:=HTTPRIO1.HTTPWebNode.Execute(xml);
    Memo2.Lines.SaveToStream(xmlrep);
    end;
    Je voulais récupérer le xml de la réponse dans Memo2, je n'ai pas de message d'erreur mais ça ne marche pas.
    Avez vous une idée d'où proviens l'erreur ?
    Merci d'avance.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Voici le vrai code en fait, il y avait une erreur à la dernière ligne que j'ai corrigé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    procedure TForm1.Button2Click(Sender: TObject);
    var
    Xml:TMemoryStream;
    XmlRep:TStream;
    begin
    xml:=tMemorystream.Create;
    Memo1.Lines.SaveToStream(xml);
    XmlRep:=tmemorystream.Create;
    xmlrep:=HTTPRIO1.HTTPWebNode.Execute(xml);
    Memo2.Lines.LoadFromStream(xmlrep);
    end;
    Mais ça ne marche toujours pas.

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Je ne travaille pas sur delphi et ses dérivés: je ne dis que au nom de sens common. Essayez-ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    xmlrep:=HTTPRIO1.HTTPWebNode.Execute(xml);
    xmlrep.Position := 0;
    Memo2.Lines.LoadFromStream(xmlrep);
    xmlrep.Free;

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    ça a marché, je vous remercie.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête sur une ontologie via un service Web
    Par naima2005 dans le forum Web sémantique
    Réponses: 2
    Dernier message: 26/02/2011, 19h23
  2. [Web Service] Expiration d'une requête simple avec Amazon Web Services
    Par cyberlp dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 12/11/2010, 15h50
  3. [AC-2002] Envoi d'une requête sur une page web
    Par pier.antoine dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/09/2009, 14h45
  4. Relayer une requête vers une autre appli web
    Par kkort dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 02/09/2009, 17h41
  5. Envoyer une requête XML à un service web
    Par Ares7_fr dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/06/2008, 17h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo