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

Spring Java Discussion :

CXF enumeration validation


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut CXF enumeration validation
    Bonjour, communauté, j’ai actuellement un bug sur la génération des objets qui bloque la validation.
    Enfaite , les énumérations sont générés avec l’annotation pattern comme suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        @Pattern.List({
            @Pattern(regexp = "Saler"),
            @Pattern(regexp = "direct_sale"),
            @Pattern(regexp = "Client")
        })
        protected String typePrescription;
    EX : type_saler.xsd

    Du coup , lors de la validation , le parseur interprète ces annotations comme obligatoires tous en mêmes temps.
    Il faut que j'arrive à générer les types Enumération et non des string avec des annotations pattern.
    Merci d'avance pour vos réponse.
    Environnement de travail : tomcat 7, Eclipse, Spring, JAX-WS, Maven, CXF 2.7.3, Jax-b

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        @Pattern(regexp = "Saler|direct_sale|Client")
        protected String typePrescription;
    A+.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut
    je genere mon code à partir d'un WSDL qui a tous les XSD necessaire :

    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
    <wsdlOption>
     <wsdl>test.wsdl</wsdl>
       <extraargs>
          <extraarg>-exsh</extraarg>
          <extraarg>true</extraarg>
          <extraarg>-impl</extraarg>
          <!-- <extraarg>-client</extraarg> -->
          <extraarg>-xjc-Xinheritance</extraarg>
          <extraarg>-xjc-Xcopyable</extraarg>
          <extraarg>-xjc-Xts-nv</extraarg>
          <extraarg>-xjc-b,${basedir}/src/main/resources/jaxb-custom.xjb</extraarg>
          <extraarg>-autoNameResolution</extraarg>                                                                                                                                                     
          <extraarg>-xjc-XJsr303Annotations</extraarg>
        </extraargs>
    </wsdlOption>
    Je veux que le generateur , me genere ce que tu viens de citer.
    Est ce que vous avez une idée de comment faire , peut etre une option dans les arguments , ou bien quelque chose d'autre
    Merci d'avance

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsd:element name="champEnum" type="TypePrescription" />
    <xsd:simpleType name="TypePrescription">
    	<xsd:restriction base="xs:string">
    		<xsd:enumeration value="Saler"/>
    		<xsd:enumeration value="direct_sale"/>
    		<xsd:enumeration value="Client"/>
    	</xsd:restriction>
    </xsd:simpleType>
    Ça doit générer un enum de type TypePrescription au lieu d'un String.

    A+.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xs:element name="type_pres">
                               <xs:annotation>
                                      <xs:documentation>xxxxxxxxxxxxxx</xs:documentation>
                               </xs:annotation>
                               <xs:simpleType >
                                      <xs:restriction base="xs:string">
                                            <xs:enumeration value="prescription" />
                                            <xs:enumeration value="direct_sale" />
                                            <xs:enumeration value="auto_medication" />
                                      </xs:restriction>
                               </xs:simpleType>
                        </xs:element>
    Le problème que je rencontre , est que mon énumération n’a pas d’attribut name , et j’ai pas le droit de modifier mon XSD qui fait partie de mon entrant et qui ne devrait pas bouger (si j’ajoute l’attribut name comme l’exemple ci-dessous ça marche bien)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <xs:element name="type_pres">
                               <xs:annotation>
                                      <xs:documentation>xxxxxxxxxxxxxx</xs:documentation>
                               </xs:annotation>
                               <xs:simpleType name="EnumTypePrescription">
                                      <xs:restriction base="xs:string">
                                            <xs:enumeration value="prescription" />
                                            <xs:enumeration value="direct_sale" />
                                            <xs:enumeration value="auto_medication" />
                                      </xs:restriction>
                               </xs:simpleType>
                        </xs:element>
    Est ce que t'as une piste, merci beaucoup

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/01/2014, 10h20
  2. XML validation - CXF
    Par ego dans le forum Spring
    Réponses: 1
    Dernier message: 30/08/2011, 21h23
  3. est ce un XSchema Valide?
    Par Slash dans le forum Valider
    Réponses: 4
    Dernier message: 06/03/2003, 14h01
  4. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54
  5. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2002, 15h46

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