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 :

Question sur l'accès au webservice à partir d'une application


Sujet :

Web & réseau Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 33
    Points
    33
    Par défaut Question sur l'accès au webservice à partir d'une application
    Bonjour à tous,

    J'ai vu que pour accéder aux données d'un webservice à partir d'une application, on doit faire comme ci dessous :

    "Fichier | Nouveau > Autres > Service web > Importateur WSDL > URL...http//.."

    Et il faut préciser le login, le proxy s'il y en a.

    Ensuite, les méthodes pour récupérer les données de ce webservice...etc

    J'aimerais savoir si tous les types de langage pour céer le webservice sont acceptés ?

    Et si on peut accéder à la base de données de Webservice par le code? C'est à dire que pas besoin de faire ça "Fichier | Nouveau > Autres > Service web > Importateur WSDL > URL...http//.."

    Je vous remercie d'avance.

    Bonne journée!

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Points : 170
    Points
    170
    Par défaut
    Le principe même du WebService est de permettre l'interopérabilité.
    En créant un web Service depuis delphi tu seras capable de l'interroger par la suite depuis des programmes développés en Java, .NET, php, javascript, ...

    Je ne suis pas sur de comprendre ce que tu entends par "accéder à la base de données de Webservice par le code". Une fois que tu as fait l'import de la WSDL de ton web service, cette WSDL te fourni les méthodes que tu pourra appeler sur le WebService.
    Tu peux regarder cet exemple sur développez : http://lfe.developpez.com/WebService/Delphi/ Dans ce cas le WebService permet de renvoyer le résultat d'une recherche Google...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par tenpigs Voir le message
    Le principe même du WebService est de permettre l'interopérabilité.
    En créant un web Service depuis delphi tu seras capable de l'interroger par la suite depuis des programmes développés en Java, .NET, php, javascript, ...

    Je ne suis pas sur de comprendre ce que tu entends par "accéder à la base de données de Webservice par le code". Une fois que tu as fait l'import de la WSDL de ton web service, cette WSDL te fourni les méthodes que tu pourra appeler sur le WebService.
    Tu peux regarder cet exemple sur développez : http://lfe.developpez.com/WebService/Delphi/ Dans ce cas le WebService permet de renvoyer le résultat d'une recherche Google...
    Merci pour ta réponse si rapide.

    J'ai déjà vu cet exemple. Si le webservice est créé sur Delphi, je sais comment faire pour impporter WSDL.

    Mais mon webservice est créé avec Drupal par quelqu'un d'autre. Je voudrais y accéder pour récupérer quelques données.

    Est-ce possible ou il faut absolument que le webservice soit créé en Delphi ?

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 549
    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 549
    Points : 25 119
    Points
    25 119
    Par défaut
    un WebService utilise généralement SOAP ou REST
    Le WSDL est justement conçu pour décrire un WS SOAP
    Delphi gère plutôt du SOAP 1.1 en type document\encoded mais Drupal étant PHP il gère normalement assez bien le mélange encoded\literal

    Pense que l'importateur WSDL de Delphi 7 a quelques lacunes, si tu utilises une version XE, tu dois avoir le principal !

    Joue un peu plus avec l'importateur WSDL, tu verras bien ce qu'il génère, si cela ne compile pas, on pourra tenter de t'aider
    Sur le forum, si tu fais une recherche WSDL et ShaiLeTroll comme auteur, tu trouveras à mon avis, la réponse à la plupart des soucis que l'on rencontre

    Je te conseille aussi de cocher des options comme
    "dérouler des paramètres littéraux" - Unwind...
    "Un param. de sortie est Return" - RegisterReturnParamName
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    un WebService utilise généralement SOAP ou REST
    Le WSDL est justement conçu pour décrire un WS SOAP
    Delphi gère plutôt du SOAP 1.1 en type document\encoded mais Drupal étant PHP il gère normalement assez bien le mélange encoded\literal

    Pense que l'importateur WSDL de Delphi 7 a quelques lacunes, si tu utilises une version XE, tu dois avoir le principal !

    Joue un peu plus avec l'importateur WSDL, tu verras bien ce qu'il génère, si cela ne compile pas, on pourra tenter de t'aider
    Sur le forum, si tu fais une recherche WSDL et ShaiLeTroll comme auteur, tu trouveras à mon avis, la réponse à la plupart des soucis que l'on rencontre

    Je te conseille aussi de cocher des options comme
    "dérouler des paramètres littéraux" - Unwind...
    "Un param. de sortie est Return" - RegisterReturnParamName
    Je te remercie.

    J'utilise une version XE.

    J'ai une URL de point d'entrée de mon webservice. Quand je clique dessus, c'est une page blanche. J'ai essayé de l'importer. Une erreur s'affiche : [Document vide].

    Je pense que URL est sécurisé et qu'il faut un authentification ?

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 549
    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 549
    Points : 25 119
    Points
    25 119
    Par défaut
    fait bien
    Code url : Sélectionner tout - Visualiser dans une fenêtre à part
    www.domain.truc\webserice?wsdl
    si tu ne mets pas ?wsdl il essaye d'invoquer le ws au lieu de chercher son descriptif
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    fait bien
    Code url : Sélectionner tout - Visualiser dans une fenêtre à part
    www.domain.truc\webserice?wsdl
    si tu ne mets pas ?wsdl il essaye d'invoquer le ws au lieu de chercher son descriptif
    Je te remercie.
    J'ai trouvé une autre solution avec le composant TidHTTP

    Je suis en train de parser le fichier XML (version="1.0" encoding="utf-8")

    Par exemple ici, j'aimerais afficher seulement la date "11/02/2013", mais il affiche tout ça : "<span class="date-display-single">11/02/2013</span>"

    J'aimerais savoir comment je peux enlever <span class="date-display-single"> et aussi <strong>, <p>,.... ???

    Voici un bout du fichier xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <node_data_field_date_parution_field_date_parution_value>
    <span class="date-display-single">11/02/2013</span>
    </node_data_field_date_parution_field_date_parution_value>
    <node_data_field_date_parution_field_duree_value>5 mois</node_data_field_date_parution_field_duree_value>
    <node_data_field_date_parution_field_depmt_intervention_value>42 Loire</node_data_field_date_parution_field_depmt_intervention_value>
    <node_data_field_date_parution_field_tarif_value>selon profil</node_data_field_date_parution_field_tarif_value>
    <node_revisions_body>
    Et mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i := 0 to DocXML.DocumentElement.ChildNodes.Count -1 do
    begin
           Noeud := DocXML.DocumentElement.ChildNodes[i];
           Date := VarToStr(Noeud.ChildValues['node_data_field_date_parution_field_date_parution_value']);
    end;

Discussions similaires

  1. [WD15] Question sur l'accès MSSQL en natif
    Par fucce dans le forum WinDev
    Réponses: 4
    Dernier message: 17/02/2010, 19h40
  2. Question sur l'accès à la configuration (ZendConfig)
    Par mverhaeghe dans le forum Zend Framework
    Réponses: 2
    Dernier message: 11/03/2008, 11h34
  3. Question sur les accés concurrents
    Par bannik dans le forum Autres
    Réponses: 1
    Dernier message: 08/02/2008, 17h41
  4. question sur l'accée a un machine de mon réseau
    Par inter_amine dans le forum Windows XP
    Réponses: 4
    Dernier message: 30/04/2007, 16h32
  5. Réponses: 4
    Dernier message: 28/02/2007, 09h31

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