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

Services Web Discussion :

tutoriel utilisation service soap


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut tutoriel utilisation service soap
    Je rame completement a essayer d'utiliser un WebService en SOAP mes compétences actuelles dans ce domaine sont a peu pres nulles !

    On m'a donné une adresse wsdl

    https://fleetworks.acunia.com/jboss-.../Planning?wsdl

    Jusque la, j'ai pu l'ajouter a mes reference, je vois les classe associées dans mon projet

    Mais je dois l'utiliser et donner un userId password


    Je pense que je dois utiliser un NetWorkCredential

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         NetworkCredential ncre = new NetworkCredential "integrateur@machin","******");
    Mais a partir de là c'est le noir total, je ne sais pas comment faire pour aller plus loin ?

    Quelqu'un a-t-il de l'expérience ?
    J'ai l'impression que c'est de désert pour tout le monde

    Merci pour votre aide

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Par défaut
    Bonjour

    J'ai déjà fait cela il y a un moment.

    Voici les étapes pour consommer ton service :

    1) Générer un fichier c# (.cs) à l'aide de la commande wsdl de l'invite de commande de visual studio

    2) Compile le fichier c# en dll à l'aide de la commande csc (c sharp compilator)

    3) Ajoute la dll en référence à ton projet et utilise là

    Voici un site qui semble expliquer comment faire :
    http://www.csharphelp.com/archives2/archive356.html

    Par contre, j'ai essayer sur mon poste rapidement et ton service me retourne une erreur à la génération du fichier c#.

    Si j'arrive à de quoi je te fais signe.

    Bonne chance

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    merci beaucoup pour ton aide

    J'ai avancé un peu
    Tout d'abord les liens wsdl que l'on m'avait donné sont obsolete

    Voici un bon

    Dans un projet C# Express 2008 il faut rajouter ce lien commme reference Web (PAS comme service reference)

    A partir de la ca va mieux


    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
          WS_Punch_Tracking.TrackingService WS_TrackS = new WS_Punch_Tracking.TrackingService();
     
          NetworkCredential networkCredential = new NetworkCredential("integrateur@******l", "integrateur");
     
          WS_Punch_Tracking.pollTraces pollTrace = new WS_Punch_Tracking.pollTraces();
     
          WS_Punch_Tracking.TracePollData tracespolldata = new WS_Punch_Tracking.TracePollData();
          WS_Punch_Tracking.TraceData traceData = new WS_Punch_Tracking.TraceData();
     
          WS_Punch_Tracking.pollTracesResponse pollTraceResponse = new WS_Punch_Tracking.pollTracesResponse();
     
          string nextmark;
     
          pollTrace.customer = "105706-73";
          pollTrace.mark = "2009-10-29T16:19:00.000";
          WS_TrackS.Credentials = networkCredential;
          tracespolldata = WS_TrackS.pollTraces(pollTrace).@return;
          nextmark = tracespolldata.mark;
    Mais j'ai une erreur 401 a l'execution de pollTraces

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tracespolldata = WS_TrackS.pollTraces(pollTrace).@return;
    Soit je fais encore une erreur logique, soit je n'ai pas les bon user-id password

    (Ceux que j'ai montré ici ne sont évidemment pas les bons que j'utilise)

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour

    Le fournisseur de service m'a suggérer de faire un override de GetWebRequest

    J'ai donc ajouté le code ci-apres dans la classe principale du service client


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        protected override WebRequest GetWebRequest(Uri uri)
        {
          HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);
     
          System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
          NetworkCredential nwcredential = (NetworkCredential)base.Credentials;
          string strx = Convert.ToBase64String(encoding.GetBytes(nwcredential.UserName + ":" + nwcredential.Password));
          webRequest.Headers.Add("Authorization",
                              "Basic " + strx);
     
          return webRequest;
        }
    J'ai mis des breakpoint mais on ne passe jamais dedans !

Discussions similaires

  1. Utiliser un objet dans un Web Service Soap Client
    Par benny-blanco dans le forum Services Web
    Réponses: 1
    Dernier message: 19/04/2012, 09h23
  2. [Tutoriel] Utilisation du web service SOAP sous Android
    Par David55 dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 28/08/2011, 12h07
  3. [Axis] Utilisation d'un service soap avec Axis.
    Par avalone dans le forum Services Web
    Réponses: 3
    Dernier message: 14/02/2006, 15h17

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