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 :

Méthode de service web.


Sujet :

C#

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut Méthode de service web.
    Bonjour,

    J'ai une méthode de service web qui prend comme paramètre une classe.
    Elle est bien référencé dans mon interface.

    Le problème vient quand je veux faire appel à cette méthode depuis mon service Windows.
    Mon service web est bien référencé.

    lorsque j'appelle la méthode, il me demande 5 paramètres.. Les 4 propriétés de la classes et une qui semble être le retour.

    J'ai tenté de lui donner les valeurs mais il me dis que certaines sont fausses.
    J'ai tenté de lui forcer un seul paramètre (la classe dans son ensemble et non property par property) mais sans résultat.

    Si quelqu'un à une idée sur le pourquoi du comment je le remercie.

    J'ai déjà déclaré et utilisé plusieurs méthodes mais si vous pensez que le problème peut venir de la et que vous voulez voir le code dites le moi.

    Merci

  2. #2
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Code d'appel ? message d'erreur ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    Il n'y a pas de message d'erreur.
    Coté service Web
    Dans l'interface

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       [OperationContract]
        UploadResponse UploadFileNew(UploadRequest request);

    Coté service windows.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MyComm = new GexsiService.ServiceWebSedentaire.ServiceClient();
    UploadRequest MyRequeste = new UploadRequest();
    UploadResponse MyReponse = new UploadResponse();
    
    MyRequeste.UploadRequestContext = "Autre";
    MyRequeste.UploadRequestData = File.OpenRead(MyChemin);
    MyRequeste.UploadRequestFileName = "SedentaireFile";
    MyRequeste.UploadRequestSource = UploadSource.Autre;
                
    MyComm.UploadFileNew(ICI IL ME DEMANDE LES PARAMETES)
    Et la classe

    [MessageContract()]
    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
    public class UploadRequest
    {
       [MessageHeader(Name = "UploadRequestSource", MustUnderstand = true)]
        public UploadSource Source { get; set; }
     
       [MessageHeader(Name = "UploadRequestContext", MustUnderstand = true)]
        public string Context { get; set; }
     
       [MessageHeader(Name = "UploadRequestFileName", MustUnderstand = true)]
        public string FileName { get; set; }
     
       [MessageBodyMember(Name = "UploadRequestData", Order = 1)]
        public System.IO.Stream Data { get; set; }
     
    }
    Merci

  4. #4
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    MyComm.UploadFileNew(ICI IL ME DEMANDE LES PARAMETES)
    il n'attend pas un objet de type UploadRequest ?

    D'autre part il faut s'assurer que UploadRequest est sérialisable. je vois un System.IO.Stream comme propriété, je ne suis pas sur que ce soit serialisable.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Essaye ces deux là, je n'ai pas bien compris pour ton message de retour, mais bon...


    Pense à ouvrir et fermer ton webservice.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MyComm = new GexsiService.ServiceWebSedentaire.ServiceClient();
    MyComm.Open();
     
    string msgReturn="";
    MyComm.UploadFileNew("Autre", File.OpenRead(MyChemin), "SedentaireFile", UploadSource.Autre, out msgReturn)
     
    MyComm.close();

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    MyComm = new GexsiService.ServiceWebSedentaire.ServiceClient();
    MyComm.Open();
     
     
    string msgReturn = MyComm.UploadFileNew("Autre", File.OpenRead(MyChemin), "SedentaireFile", UploadSource.Autre)
     
    MyComm.close();

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Merci à vous deux.

    dkmix :
    J'aimerais qu'il attende un object de type UploadRequest mais il en veut chaque property. Il me semble que les stream sont sérialisable (à vérifier).

    Dynamès :
    J'ai essayé juste avant de te lire et cela ne fonctionne que si je lui mets le "out".
    (la première solution donc).

    Cependant j'aurais aimé comprendre pourquoi il ne me demande pas l'object dans son ensemble ?
    Je vais tester voir si cela fonctionne malgré tout.

    Merci.

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Cependant j'aurais aimé comprendre pourquoi il ne me demande pas l'object dans son ensemble ?
    Je crois que Visual Studio gère ça de cette manière, de façon automatique lorsque tu ajoutes ton webService à ton appli.

    Ensuite, il te suffit d'invoquer ta méthode via ton webService, et de voir quel paramètres elle prend.

  8. #8
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    J'aimerais qu'il attende un object de type UploadRequest mais il en veut chaque property.
    Comment avez-vous généré les classes de Proxy ?
    c'est un service web de type asmx ou wcf ?

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Elles se sont générés automatiquement lors de la création de mon service WCF.

    Je suis débutant en ce qui concerne csharp et les services, peut être m'y suis je mal pris ?

Discussions similaires

  1. problème d'appel d'une méthode d'un service web
    Par aida1986 dans le forum Services Web
    Réponses: 15
    Dernier message: 21/05/2010, 15h10
  2. Réponses: 2
    Dernier message: 11/05/2010, 13h15
  3. [WD15] Service Web : Méthode sans paramètre
    Par Kerfred dans le forum WinDev
    Réponses: 0
    Dernier message: 04/03/2010, 10h59
  4. Comment intégrer la méthode SAOP d'un service web?
    Par attarbya87 dans le forum Services Web
    Réponses: 1
    Dernier message: 10/04/2009, 21h45
  5. Masquer certains types/méthodes d'un web service ?
    Par sheepolata dans le forum Services Web
    Réponses: 0
    Dernier message: 31/03/2009, 10h44

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