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 :

Utiliser web service via Delphi


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut Utiliser web service via Delphi
    Bonjour,

    Je suis en train de tester la connexion via Web service vers une Platform qui fournit cette possibilité j’ai converti l’XML qui me permet d’utiliser les fonctions de la connexion et d’échange d’informations en unit sur Delphi mais j’ai pas pu fonctionné la première requête de m’application vers le server une erreur se produise « Acces violation at address…. »

    J’ai fait la même chose sur l’utilitaire SoapUI et ca fonctionne parfaitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ses="http://www.nortel.com/soa/oi/cct/types/SessionService" xmlns:typ="http://www.nortel.com/soa/oi/cct/types">
       <soapenv:Header/>
       <soapenv:Body>
          <ses:LogInToCCTServerRequest>
             <ses:authenticationLevel>
                <typ:username>My_User</typ:username>
                <typ:password>My_Password</typ:password>
                <typ:domain>My_Domain</typ:domain>
             </ses:authenticationLevel>
          </ses:LogInToCCTServerRequest>
       </soapenv:Body>
    </soapenv:Envelope>
    Quelqu’un a une aidé comment je peux régler cette anomalie ?

    Cdt.

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Le contenu du SOAP ne va pas nous être d'un grand secours pour le moment
    Il faut commencer par générer le Wrapper à partir du WSDL, il fournit une interface et des objets TRemotable et l'instanciation du HTTPRIO (je suppose que c'est ce que vous appelez "j’ai converti l’XML en unit ")

    Le problème est clairement l'utilisation incorrecte d'un objet
    Soit non alloué
    Soit une mauvais libération
    Sans le code Delphi, je ne vois pas ce que l'on peut répondre à cela
    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 éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    le voici le code Delphi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
    CCT_connect:LogInToCCTServerRequest;
    resp:LogInToCCTServerResponse;
    username,password,domain:string;
     
    begin
    CCT_connect.authenticationLevel.username:='My_User';
    CCT_connect.authenticationLevel.password:='My_password';
    CCT_connect.authenticationLevel.domain:='my_domain';
    end;

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    CCT_connect n'est pas instancié ?
    Surement une fonction GetLogInToCCTServerRequest qui doit être dans l'unité Wrapper généré

    Je pense qu'il faudrait revoir d'abord les bases de Delphi sur le cycle de vie des objets et des interfaces (IRemotable) avant de vouloir utiliser un WebService
    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 éclairé
    Homme Profil pro
    J'aime la programmation avec Delphi
    Inscrit en
    Avril 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : J'aime la programmation avec Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 227
    Par défaut
    C'est la première fois que j'utilise le web service avec Delphi j'ai fait un changement sur mon code mais j'obtenu une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      aut:LogInToCCTServerRequest;
    begin
     
      (HTTPRIO1 as UserService).LogInToCCTServer(aut);
      aut.authenticationLevel.username:='username';
      aut.authenticationLevel.password:='v';
      aut.authenticationLevel.domain:='domain';
    l'erreur :
    Nom : F.jpg
Affichages : 633
Taille : 15,1 Ko

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    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 089
    Par défaut
    Dans le fichier PAS généré à partir du WSDL, il y a déjà une factory qui instancie un THTTRIO et retourne une interface prête à l'emploi
    Votre problème n'est pas lié au WebService en Delphi mais à votre connaissance de base du langage Delphi
    Vous n'avez toujours pas instancié l'objet utilisé, cela ne peut qu'échouer

    Votre code devrait ressemble à quelque chose comme ça
    Evidemment, n'ayant pas tous les éléments ma réponse ne peut être qu'approximative
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    var
      aut:LogInToCCTServerRequest;
      resp:LogInToCCTServerResponse;
    begin
      aut := LogInToCCTServerRequest.Create();
      try
        aut.authenticationLevel.username:='username';
        aut.authenticationLevel.password:='v';
        aut.authenticationLevel.domain:='domain';
        resp := (HTTPRIO1 as UserService).LogInToCCTServer(aut);
        try
          // utilisation de resp
        finally
          resp.Free();
        end;
      finally
        aut.Free();
      end;
    end;
    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

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

Discussions similaires

  1. Web Service via https
    Par Choun dans le forum Services Web
    Réponses: 0
    Dernier message: 02/07/2009, 16h56
  2. [AXIS2] Passage de paramètres à un web service via URL
    Par evenl dans le forum Services Web
    Réponses: 1
    Dernier message: 28/04/2009, 12h30
  3. Réponses: 27
    Dernier message: 23/10/2008, 17h20
  4. Appel d'un Web services via excel.
    Par killysui dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/02/2008, 14h30

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