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

XML/XSL et SOAP Discussion :

[SOAP][Web Service] erreur création d'une référence Web


Sujet :

XML/XSL et SOAP

  1. #1
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut [SOAP][Web Service] erreur création d'une référence Web
    Bonjour,

    J'essaie de créer un client Web Service en C# mais je bute dès la première étape. Lors de l'ajout d'une référence Web pointant vers le fichier WSDL du service web à mon projet Visual Studio (.NET 2003), j'ai l'erreur suivante :

    Erreur de l'outil personnalisé : Impossible d'importer WebService/Schema. Impossible d'importer la liaison 'cmsserverBinding' à partir de l'espace de noms 'urn:cms'. Impossible d'importer l'opération 'getRubriques'. Le schéma avec targetNamespace='urn:cms' a une syntaxe non valide. L'attribut 'name' ne peut pas être présent.
    Voici le contenu du fichier WSDL :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:si="http://soapinterop.org/xsd" 
    xmlns:tns="urn:cms" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:cms">
     
    <types><xsd:schema elementFormDefault="qualified" targetNamespace="urn:cms">
     
    <xsd:complexType name="Rubrique">
      <xsd:all>
        <xsd:element name="id_rubrique" type="xsd:string" />
        <xsd:element name="nom" type="xsd:string" />
      </xsd:all>
    </xsd:complexType> 
     
     
    <xsd:complexType name="Groupe">
      <xsd:all>
        <xsd:element name="id_groupe" type="xsd:string" />
        <xsd:element name="nom" type="xsd:string" />
      </xsd:all>
    </xsd:complexType> 
     
    <xsd:element name="Rubriques">
     <xsd:complexType name="tabRubriques">
      <xsd:complexContent>
         <xsd:restriction base="SOAP-ENC:Array">
          <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="cms:Rubrique[]"/>
        </xsd:restriction> 
      </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>
     
    <xsd:element name="Groupes">
     <xsd:complexType name="tabGroupes">
      <xsd:complexContent>
         <xsd:restriction base="SOAP-ENC:Array">
          <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="cms:Groupe[]"/>
        </xsd:restriction> 
      </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>
     
    <xsd:element name="string1" type="xsd:string">
    </xsd:element>
     
    <xsd:element name="string2" type="xsd:string">
    </xsd:element>
     
    </xsd:schema>
    </types>
     
    <message name="listeRubriquesResponse"><part name="parameters" element="tns:Rubriques" /></message>
    <message name="listeRubriquesRequest"><part name="parameters" element="tns:string1" /></message>
     
    <message name="listeGroupesResponse"><part name="parameters" element="tns:Groupes" /></message>
    <message name="listeGroupesRequest"><part name="parameters" element="tns:string2" /></message>
     
    <portType name="cmsserverPortType">
    	<operation name="getGroupes"><input message="tns:listeGroupesRequest"/><output message="tns:listeGroupesResponse"/></operation>
    	<operation name="getRubriques"><input message="tns:listeRubriquesRequest"/><output message="tns:listeRubriquesResponse"/></operation>	
    </portType>
     
    <binding name="cmsserverBinding" type="tns:cmsserverPortType">
    	<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    	<operation name="getGroupes">
    		<documentation>Liste des groupes du CMS</documentation>
    		<soap:operation soapAction="urn:cms#getGroupes" style="document"/>
    		<input><soap:body use="literal" namespace="urn:cms"/></input>
    		<output><soap:body use="literal" namespace="urn:cms"/></output>
    	</operation>
    	<operation name="getRubriques">
    		<documentation>Liste des rubriques du CMS</documentation>
    		<soap:operation soapAction="urn:cms#getRubriques" style="document"/>
    		<input><soap:body use="literal" namespace="urn:cms"/></input>
    		<output><soap:body use="literal" namespace="urn:cms"/></output>
    	</operation>
     
    </binding>
     
    <service name="cmsserver">
    	<port name="cmsserverPort" binding="tns:cmsserverBinding">
    	<soap:address location="http://localhost/cms_test/backend/webservice/webservice.php"/></port>
    </service>
     
    </definitions>
    Je l'ai trituré dans tous les sens, sans résultat.
    C'est surtout l'erreur "L'attribut 'name' ne peut pas être présent" qui m'intrigue... J'ai beau chercher de quel attribut il s'agit, je ne vois pas.

    Si quelqu'un pouvait m'éclairer sur cette erreur obscure de Visual Studio, ça m'aiderait beaucoup...

    Pensez au bouton

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [Web Service][C#] erreur création d'une référence Web
    Citation Envoyé par Maximilian
    • ...
      <service name="cmsserver">
      <port name="cmsserverPort" binding="tns:cmsserverBinding">
      <soap:address location="http://localhost/cms_test/backend/webservice/webservice.php"/></port>
      </service>
      ...
    çe ne serait pas çà par hasard :
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Non, en enlevant le name du service (si c'est bien ce que tu veux dire), il me jette, et en enlevant celui du port ça ne change rien...
    Pensez au bouton

  4. #4
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Je déplace le message depuis Général DotNet, ici c'est peut-être plus pertinent...
    Pensez au bouton

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    Le problème doit venir de là :
    <xsd:element name="Rubriques">
    <xsd:complexType name="tabRubriques">
    <xsd:complexContent>
    <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="cms:Rubrique[]"/>
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>
    Comme ton type complexe est local à l'élément Rubriques, il ne peut pas être nommé (cela est réservé aux types globaux). Tu as le même problème avec la définition de l'élément <Groupes>.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Merci ! Effectivement, en enlevant ces names j'ai une autre erreur à la place :

    Erreur de l'outil personnalisé : Impossible d'importer WebService/Schema. Impossible d'importer la liaison 'cmsserverBinding' à partir de l'espace de noms 'urn:cms'. Impossible d'importer l'opération 'getGroupes'. L'élément, string2, à partir de l'espace de noms, urn:cms, a été importé deux fois pour des raisons différentes : (PrimitiveMapping, MembersMapping).
    J'ai l'impression que .NET est légèrement tatillon sur le sujet parce que j'ai vérifié avec un validateur WSDL et ça passe nickel... Avec un client SOAP en PHP aussi ça marche très bien
    Pensez au bouton

  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Pourquoi l'élément string2 serait-il importé 2 fois ? Quelqu'un a une idée ?
    Pensez au bouton

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/03/2015, 18h49
  2. Mettre une référence web au lieu d'une référence de service ?
    Par chinoismasque dans le forum Windows Phone
    Réponses: 20
    Dernier message: 10/08/2011, 15h20
  3. [SP-2007] Erreur inconnu lors de la création d'une application Web
    Par hassine dans le forum SharePoint
    Réponses: 18
    Dernier message: 24/08/2010, 09h48
  4. Réponses: 2
    Dernier message: 04/04/2009, 09h17
  5. Erreur lors de l'ajout d'une référence web
    Par Pilloutou dans le forum Visual Studio
    Réponses: 2
    Dernier message: 12/02/2007, 15h11

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