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

Windows Communication Foundation .NET Discussion :

[WSDL] xsd:int[] traduit en String


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut [WSDL] xsd:int[] traduit en String
    Bonjour.

    Comme le titre l'indique, j'ai un problème pour importer un service web.

    Le wsdl que j'importe a une methode avec un argument de type tableau de int :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <message name="MaMethodeRequest"><part name="productid" type="xsd:int"/><part name="userlist" type="xsd:int[]"/></message>
    une fois importée dans visual studio, ca génére la methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void MaMethode(int productid, string userlist);
    Je me demande donc d'où vient le problème, le document WSDL? ou du coté client (visual studio)?

    J'ai essayé de changer le type en xsd:long[] mais j'obtiens le meme résultat.

    J'avous etre surpris de ce problème, du fait que je n'utilise que des types basiques

    Pour info, le serveur soap vient de mon site php qui utilise la librairie nusoap.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    J'ai trouvé une solution qui ne me plait pas trop.
    Coté wsdl j'ai déclaré un nouveau type représentant un tableau de int:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsd:complexType name="ArrayOfInt"><xsd:sequence><xsd:element name="Value" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/></xsd:sequence></xsd:complexType>
    puis j'utilise ce type comme argument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <message name="MaMethodeRequest"><part name="productid" type="xsd:int"/><part name="userlist" type="tns:ArrayOfInt"/></message>
    ça ne me plait pas car cela rend le code visqueux tant coté serveur que client.

    Est il possible de passer par une solution plus simple (vu que je n'utilise que des types ultra basique !)?

    Voici ce que cela donne coté client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int[] valeurs = new int[]{1,2,3};
    ServiceWebSoap.ArrayOfInt argument = new ServiceWebSoap.ArrayOfInt();
    argument.Value = valeurs;
    _service.MaMethode(productid,argument);
    j'aurai vraiment préféré pouvoir faire cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int[] valeurs = new int[]{1,2,3};
    _service.MaMethode(productid,valeurs);

Discussions similaires

  1. [Debutant] Manipuler les int dans un string
    Par mr_samurai dans le forum Débuter
    Réponses: 5
    Dernier message: 18/01/2008, 20h00
  2. Réponses: 4
    Dernier message: 08/01/2008, 11h13
  3. [XSD] Type number ou string
    Par chris78 dans le forum Valider
    Réponses: 4
    Dernier message: 13/07/2006, 11h30
  4. modification de format? Un Int devient un String.
    Par thanathz dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 31/01/2005, 14h17

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