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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    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
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 081
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    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
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 081
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    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
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 081
    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 averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    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