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 :

Framework 2.0 : erreur web reference


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Par défaut Framework 2.0 : erreur web reference
    Bonjour,


    Je développe une application winform en 2.0. Je dois interroger un service web.
    J'utilise donc le composant "Web reference" mais lorsque je fais appel à ce web service de la manière suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    werService.InterrogationWebServices CVRecherche = new werService.InterrogationWebServices();
    J'obtiens l'erreur suivante :

    La méthode InterrogationWebServices.searchElements ne peut pas être
    réfléchie.

    Or ce web service fonctionne lorsque j'utilise le "service de référence" du framework 3.0.

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2005
    Messages : 351
    Par défaut
    Salut Redol,

    La méthode InterrogationWebServices.searchElements ne peut pas être
    réfléchie.
    Est-ce que ton WebService a été conçu avec le Framework 2.0 ou 3.0, peut être que tu utilise une méthode dans ton constructeur "InterrogationWebServices()" valable que depuis le framework 3.0?

    Cédric

  3. #3
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Par défaut
    Je n'ai aucune indication sur la conception du web service (il a été fait par un prestataire de service qui nous donne aucune info).

    En revanche mon application cliente doit être faite en 2.0...


    Est-ce qu'il n'existe pas un moyen de créer en 2.0 un "service de référence" comme il est possible de faire en 3.0 car le composant "web reference" n'a pas l'air de supporter la définition du web service...


    Lorsque j'accède à l'élément "innerEception", j'obtiens l'erreur suivante :

    "L'élément XML nommé 'searchResults' à partir de l'espace de noms 'http://ws.....com' fait référence à une méthode et un type. Modifiez le nom de message de la méthode à l'aide de WebMethodAttribute ou modifiez l'élément racine du type à l'aide de
    XmlRootAttribute."
    Dans le fichier wsdl, l'élément searchResults est défini de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xs:element name="searchResults">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="entete" type="Nouvellenorme:infoElement"/>
    <xs:element name="data" type="xs:base64Binary"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>

  4. #4
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 8
    Par défaut
    Bon j'ai trouvé la solution, je vous présente ma solution si jamais cela vous arrive...

    L'erreur provient d'une erreur dans le wsdl, deux éléments possèdent le même nom...étant donné que je ne peux toucher au wsdl, j'ai du trouvé une solution "maison".

    Pour cela j'ai utilisé la commande wsdl(dans le visual studio comment prompt) ci-dessous pour créer une classe à partir d'un fichier wsdl.

    J'ai intégré cette classe dans mon projet winform (framework 2.0). J'ai ensuite modifié manuellement le nom d'un des deux éléments (dont le nom était en double) et je peux consommer le web service sans problème.

    Bien entendu, la fonction dont j'ai modifié le nom de l'élément ne fonctionne pas (pas très grave car j'utilise une autre fonction du wsdl). Si jamais la 2ème fonction vous est utile, il suffit de créer une autre classe de votre wsdl et de modifier l'autre élément.

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

Discussions similaires

  1. Erreur avec "Add web reference" dans Visual Studio 2010
    Par zoe1202 dans le forum Services Web
    Réponses: 0
    Dernier message: 08/10/2010, 19h13
  2. Réponses: 1
    Dernier message: 29/06/2006, 07h05
  3. [Firebird]Erreur:la reference d'objet n'est pas definie
    Par monmien dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2006, 09h20
  4. [C#][debutant]erreur => object reference is required for a no
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/01/2006, 13h47
  5. Réponses: 6
    Dernier message: 24/01/2006, 18h50

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