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

Web & réseau Delphi Discussion :

Client Delphi Webservices php


Sujet :

Web & réseau Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut Client Delphi Webservices php
    Bonjour

    Souci du jour :
    j'ai un webservices sur mon serveur php qui fonctionne (testé avec le client correspondant php).
    Je dois faire un client Delphi pour ce même webservice.
    J'ai fait générer mon WSDL que j'ai import dans Delphi en suivant un tuto dédié.
    Mes trois fonctions y sont bien, rien ne semble problématique de ce coté là...

    Mais, lorsque j'essaie en cliquant sur un bouton de récupérer le résultat de la fonction, j'ai systématiquement une erreur identifieur non déclaré, portant sur le nom de la fonction.

    Ma fonction salut() retourne une phrase . Elle est bien présente dans l'unité créée à partir du wsdl.


    Le tuto que j'ai suivi : http://azanetti.developpez.com/webservice/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage( (HTTPRIO1 as ws2).salut);
    Erreur obtenue : [DCC Erreur] Unit2.pas(32): E2029 '.' attendu(e) mais ')' trouvé(e)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(HTTPRIO1 as ws2.salut);
    Erreur obtenue : [DCC Erreur] Unit2.pas(32): E2003 Identificateur non déclaré : 'salut'

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    C'est le code auto-généré par l'importateur WSDL ?
    ws2 c'est le nom du IInvokable ?
    tu as bien mis l'unité généré comme uses ?

    Curieux, de mémoire, le générateur même celui de D6 générait bien plus de chose dont l'utilisation d'un THTTPRIO interne (pas besoin d'en avoir sur une fiche)
    ou alors cela avait changé entre D6 et D7 ??? ayant plus fait de client WS sous D7 que sous D6 !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    C'est le code auto-généré par l'importateur WSDL ?
    ws2 c'est le nom du IInvokable ?
    tu as bien mis l'unité généré comme uses ?
    OUi à la première et à la 3e, ws2 c'est le nom de l'unit généré par l'importateur de WSDL.

    J'ai bêtement suivi le tuto parce que je n'y connais *rien du tout* j'ai déjà galéré à faire mon serveur et mon autre client php

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    ws2 c'est le nom du IInvokable ?
    Dans le tutoriel c'est IHello

    tu as bien mis l'unité généré comme uses ?
    Dans le tutoriel c'est Unit2

    Tu dois avoir confondu !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    dans ma Unit ws2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      ServiceSoap = interface(IInvokable)
      ['{8E67AEC1-C755-0D65-DB34-C6F4961B9330}']
        function  ajout(const type_: WideString): WideString; stdcall;
        function  liste(const type_: WideString): WideString; stdcall;
        function  salut: WideString; stdcall;
      end;
    Donc j'avais effectivement confondu ... Merci

    Edit :
    Ma fonction sans paramètres fonctionne. Y a plus qu'à se penser sur le reste
    Merci encore...

    Question subsidiaire : saurais-tu comment "interpréter" l'ensemble de données issu d'une requête Mysql renvoyé par le serveur pour l'avoir dans un dataset directement ?

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Tu dois mapper tes données MySQL récupérer sous la forme d'un tableau PHP en d'une collection d'objet SOAP
    Cet Objet et cette collection doivent être décrite dans ton WSDL

    Sinon, rien n'empêche en PHP de générer un XML au format Midas utilisé par le TClientDataSet, c'est même le fonctionnement de DataSnap
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 24
    Points
    24
    Par défaut
    Merci pour le dépannage et pour les pistes.

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

Discussions similaires

  1. Webservice PHP (Server) => C# (Client)
    Par vanitom dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 14/06/2012, 21h06
  2. Client SOAP Delphi, serveur PHP, problème de types
    Par le_viking dans le forum Web & réseau
    Réponses: 3
    Dernier message: 06/01/2012, 10h36
  3. [Tchat] Serveur Php / Client Delphi
    Par Aloneghost dans le forum Web & réseau
    Réponses: 2
    Dernier message: 13/03/2009, 21h40
  4. Webservice PHP / client C#
    Par neril dans le forum Services Web
    Réponses: 1
    Dernier message: 26/05/2008, 06h11
  5. Installation appli client Delphi / Interbase
    Par ETOKA dans le forum Bases de données
    Réponses: 6
    Dernier message: 22/01/2005, 12h09

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