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 Java Discussion :

Utilisation de SoapUI


Sujet :

Services Web Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 56
    Points
    56
    Par défaut Utilisation de SoapUI
    Bonjour.

    J'utilise soapui afin de tester mes webservices.
    Cela fonctionne très bien si je valorise mes données directement dans les requêtes générées par soapui.
    Par contre, quand je modifie l'ordre des données, cela ne fonctionne plus du tout. De même si je supprime des paramètres optionnels.

    Ex :
    <ser:idCompany>001</ser:idCompany>
    <ser:idThird>TOTO</ser:idThird>
    <ser:externalReference></ser:externalReference>
    (d'autres paramètres suivent..)

    Si je supprime externalReference, toutes les valorisations des paramètres qui suivent sont décalées. Si je le déplace avant idThird, c'est externalReference qui va valoir TOTO dans mon service.

    De même, mais encore plus gênant, si je supprime un tableau de paramètre (facultatif) c'est soapui qui plante (si ce tableau n'est pas en dernière position dans mon service).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          <soapenv:Fault>
             <faultcode>soapenv:Server</faultcode>
             <faultstring>unknown</faultstring>
             <detail/>
          </soapenv:Fault>
    Est-ce "normal" ? Y a-t-il un moyen de contourner le problème (autre que ré-ordonner les données et alimenter systématiquement une entrée du tableau avec des valeurs null) ?

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Tout dépend de comment sont fait(s) le(s) schéma(s) XML sur lequel s'appuie le WSDL que tu utilises.

    Ce n'est pas un problème lié à SoapUI en lui même, cela vient plutôt du fait que tu ne respectes pas le contrat définit au niveau de ton WSDL. Donc, le web service de l'autre côté n'aime pas du tout le message que tu lui envoie, donc il te revoie une erreur(SOAPFault).

    A savoir que, quand on définit un type complex (complexType)dans un xsd, pour spécifier les balises enfant on utilise en général une séquence (xsd:sequence), or, une séquence implique que les tags du fichier XML doivent respecter l'ordre dans lesquels ils sont définit dans le schéma XML.

    De même pour les paramètres optionnels, si ils sont en minOccurs=0 tu peux ne pas les inclure dans ton XML, autrement, tu es obligé de les inclure, même si ils sont vides.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    Merci pour ta réponse.
    En effet, dans mon wsdl j'ai bien un xs:sequence sous mon complexType
    Par contre, c'est axis qui génère mon wsdl.
    Est-il possible de spécifier des balises enfant sans définir de séquence?
    Est-il possible de forcer Axis à générer un wsdl sans séquence?

    Concernant les paramètres optionnels, j'ai bien minOccurs=0 mais ils sont inclus dans la séquence. Du coup, ce doit être le même problème..

    RQ : J'ai remplacé manuellement sequence par all ou choice (dans le wsdl généré par axis que j'ai copié dans un fichier).
    Je l'ai donné à manger à soapui mais j'ai le même problème que précédemment (décalage dans les données envoyées lorsque j'appelle le WS)

Discussions similaires

  1. [SOAP] Utilisation de SOAPUI
    Par Nemesis007 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 21/04/2010, 11h06
  2. Guide d'utilisation SoapUI
    Par noussa_nouha dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 23/11/2009, 06h10
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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