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

C# Discussion :

WebService - Enveloppe SOAP


Sujet :

C#

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut WebService - Enveloppe SOAP
    Bonjour,

    Débutant en programmation, je trouve difficilement comment consommer un webservice.

    J'ai comme exemple un fichier XML qui correspond à la requête d’envoi d'info au WebService mais je ne sais pas comment la réaliser. Ci dessous, un extrait de la requete :

    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
    21
    22
    23
     
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prot="https://...../">
       <soapenv:Header>
          <wsse:Security action="UsernameToken" soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
             <Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <Created>Tue Mar 24 08:32:42 CET 2009</Created>
             </Timestamp>
             <wsse:UsernameToken>
                <wsse:Username>...@...</wsse:Username>
                <wsse:Password>...</wsse:Password>
             </wsse:UsernameToken>
          </wsse:Security>
          <wsa:To soapenv:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">http://localhost:9080/aej-fo-web/services/requete</wsa:To>
          <wsa:From soapenv:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">
             <wsa:Address>....</wsa:Address>
             <version>1.4</version>
          </wsa:From>
          <wsa:MessageID soapenv:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">messageId</wsa:MessageID>
          <wsa:Action soapenv:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">https://p.....</wsa:Action>
       </soapenv:Header>
       <soapenv:Body>
    .....
       </soapenv:Body>
    L'entete doit respecter WS-Addressing [Sav1.0] et respectera le profil « UsernameToken », de la norme WS-Security.

    Le corp du message se fait grâce à un fichier de description du WebService (WSDLs).

    Je peux le créer à la main dans une structure XML mais bon je suppose qu'il existe déjà quelque chose d'implémenté.

    Si une personne aimable pourrait m'orienter ca serait cool.

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2009
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2009
    Messages : 317
    Par défaut
    En 1 minute, j'ai trouvé ce tutoriel sur ce même site, expliquant comment utiliser un webservice sécurisé par HTTPS.

    Si le webservice en question n'est pas sécurisé par HTTPS, ça reste le même principe en plus simple .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut
    Merci de ta réponse mais ca ne répond pas à ma question.

    J'accède à mon WebService grâce à un fichier WSDL et des fichiers XSD pour créer mes requêtes.

    Je répette : L'entete doit respecter WS-Addressing [Sav1.0] et respectera le profil « UsernameToken », de la norme WS-Security.

    Hors dans ton exemple, il n'y a aucun identifiant et en plus on est même pas sur que l'enveloppe SOAP soit la même.

    Je ne suis pas non plus un guignol qui ne fait pas de recherche sur le net avant de poster. Donc merci de prendre le temps de lire mon message et d'écrire une réponse en adéquation.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut
    Ok merci bacarndiaye, je vais regarder dans ce sens.

    Je connais pas bien ce que tu appelle "le wse en mode devleppeur" mais je vais regarder.

    Merci

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 76
    Par défaut
    http://www.microsoft.com/download/en....aspx?id=14089
    tu l’installe en mode développeur

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 19
    Par défaut
    Ok car j'ai fait de cette façon dans mon projet de test :

    Dans l'explorateur de solution, il faut faire un click droit sur le projet, puis Ajouter une référence de service.
    Dans l'écran qui s'ouvre, il ne faut rien renseigner, mais cliquer sur Avancé, en bas, puis à nouveau cliquer en bas sur Ajouter une référence web.
    C'est dans le 3ème écran qui s'ouvre, qu'il faut taper (pas de bouton parcourir, ici) l'adresse complète du fichier wsdl, qu'il soit sur le web ou sur le disque. Puis il faut cliquer sur Aller à, pour charger le wsdl, puis enfin sur Ajouter le référence, à droite pour créer la classe proxy dans le projet.
    Je vais tester comme tu m'a dit

  7. #7
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 76
    Par défaut
    huuummmm le webservice
    Exemple de precedure à suivre pour consomer un webservice fait sur PeapleSoft
    1. tu dois ajouter ton webservice (en fesant add web reference)
    2. tu dois installer le wse en mode devleppeur (si tu t'authentifi au web service)
    3. trouver la bonne class pour pouvoir communiquer avec ton Webservice
    Attention: le fait que tu ajoute le wse pour la securité va modifier le nom de la class generer par le web service en "NomClassWebservice->NomClassWebserviceWse", tu peu le repérer dans le fichier Reference.cs
    syntax:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //webservice
    NamespaceProject.NameWebservice.NomClassWebserviceWse service = new NamespaceProject.NameWebservice.NomClassWebserviceWse();
    4. Pour remplir la parti authentification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Authentication
         service .RequestSoapContext.Security.Tokens.Add(new UsernameToken("Login", "Password", PasswordOption.SendNone));
    Tu peu toujours regarder si tu es un peu perdu le fichier Reference.cs tous les class méthodes qui te permet de manipuler ton webservice s'y trouve.

    je te conseil aussi d'utiliser Fiddler pour bien savoir en local si tu envoi ou tu reçois, il est super efficace.

    Du courage

Discussions similaires

  1. WebService et SOAP
    Par tom82 dans le forum C#
    Réponses: 4
    Dernier message: 15/04/2009, 12h07
  2. WebService et Soap
    Par deadliff dans le forum ASP
    Réponses: 1
    Dernier message: 01/10/2008, 19h55
  3. Enveloppe SOAP avec données, objet récupéré vide
    Par naz dans le forum Services Web
    Réponses: 1
    Dernier message: 25/09/2007, 17h21
  4. [WebService] WS SOAP en PHP : utiliser avec VB.NET ?
    Par eliasis dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 22/09/2006, 15h15
  5. Récupérer un fichier joint dans une enveloppe SOAP
    Par Raylemon dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 04/04/2006, 17h54

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