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 :

Problème de configuration de servlet.xml


Sujet :

Spring Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Problème de configuration de servlet.xml
    Bonjour à tous,
    je suis en train de me former pour mettre en place un web service sur une application cependant je rencontre un problème avec le fichier spring-ws-servlet.xml.
    En effet lorsque je tente de tester mon service je tombe sur :
    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 7 in XML document from ServletContext resource [/WEB-INF/spring-ws-servlet.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
    org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:404)
    Voici mon fichier spring-ws-servlet.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxm="http://www.springframework.org/schema/oxm"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schem...-beans-2.5.xsd
    http://www.springframework.org/schema/oxm
    http://www.springframework.org/schema/oxm/spring-oxm-1.5.xsd">
    D'après ce que j'ai trouvé sur les différents forum ce serait lié à ma version de spring, qui est la 2.5.6.
    Je pense que le problème vient du jar spring-ws-1.5.9-all.jar qui contient spring-oxm-1.5.xsd cependant le lien http://www.springframework.org/schem...ng-oxm-1.5.xsd ne mene à rien.
    J'ai beau tente de modifier mon fichier avec le lien http://www.springframework.org/schem...ng-oxm-3.2.xsd cela ne fonctionne pas puisque de toute façon le jar indique la version 1.5.

    Je vous remercie d'avance pour les réponses.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hello,

    j'ai déjà eu ça... de mémoire, il manque des jars dans le classpath (oui je sais l'erreur n'est pas très parlante et il m'a fallu du temps avant de trouver).

    Si tu es en maven, ajoute ceci (je suis pas sûr d'avoir tout mis, dis moi si tu as des problèmes, et sinon il y en a peut-être trop, à vrai dire je ne sais plus exactement quelles étaient les librairies à mettre pour que cela fonctionne):

    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
    <dependency> 
        <groupId>org.springframework.ws</groupId> 
        <artifactId>spring-ws-core</artifactId> 
        <version>${dep.springws.version}</version>
    </dependency>
     
    <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-security</artifactId>
        <version>${dep.springws.version}</version>
    </dependency>
     
    <dependency> 
        <groupId>org.springframework.ws</groupId> 
        <artifactId>spring-xml</artifactId> 
        <version>${dep.springws.version}</version> 
    </dependency> 
     
    <dependency> 
        <groupId>com.sun.xml.wss</groupId> 
        <artifactId>xws-security</artifactId> 
        <version>${dep.xwssecurity.version}</version> 
    </dependency>
     
    <dependency> 
        <groupId>org.apache.ws.commons.axiom</groupId> 
        <artifactId>axiom-impl</artifactId> 
        <version>${dep.axiom.version}</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion> 
            <!-- why the hell does this shit comes with a (bugged) copy of javamail in it???? -->
            <exclusion> 
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-activation_1.1_spec</artifactId>
            </exclusion>
            <exclusion> 
                <groupId>org.apache.geronimo.specs</groupId> 
                <artifactId>geronimo-javamail_1.4_spec</artifactId> 
            </exclusion> 
        </exclusions> 
    </dependency>
     
    <dependency> 
        <groupId>xalan</groupId> 
        <artifactId>xalan</artifactId> 
        <version>${dep.xalan.version}</version> 
    </dependency>
    et sinon bah... euh... ajoute les jars qui correspondent à ces artifacts
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je ne suis avec maven.
    Actuellement dans lib je dispose des jar spring suivants :

    spring-aop-2.5.6.jar
    spring-beans-2.5.6.jar
    spring-context-2.5.6.jar
    spring-core-2.5.6.jar
    spring-jdbc-2.5.6.jar
    spring-orm-2.5.6.jar
    spring-tx-2.5.6.jar
    spring-web-2.5.6.jar
    spring-webmvc-2.5.6.jar
    spring-ws-1.5.9-all.jar

    Faut-il que je les rajoute egalement dans le MANIFEST.MF ou carrement dans les variables d'environements de ma machine ?

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Ajouter les jars dans WEB-INF/lib.

    MANIFEST.MF ça sert à rien
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'ai ajouter les jar :

    spring-ws-core-2.1.0.RELEASE.jar
    spring-ws-security-2.1.4.RELEASE.jar
    spring-xml-2.1.4.RELEASE.jar

    Cependant cela n'as rien changé.

  6. #6
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Bah euh... il en manque encore pas mal par rapport à ce que je t'ai indiqué...
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui en effet mais j'avais déjà les autres jar.

    Par contre j'ai tester si je met cela pour le spring-ws-servlet.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxm="http://www.springframework.org/schema/oxm"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    	http://www.springframework.org/schema/oxm
    	http://www.springframework.org/schema/oxm/spring-oxm-1.5.xsd"> 
     
     
    	<bean id="personService" class="example.service.PersonServiceImpl"
    		init-method="initialize" />
    C'est à dire en changeant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.springframework.org/schem...-beans-2.5.xsd
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    J'ai une erreur
    Multiple annotations found at this line:
    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'oxm:jaxb2-marshaller'.
    - schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/oxm/spring-oxm-1.5.xsd', because 1) could not find the document; 2) the
    document could not be read; 3) the root element of the document is not <xsd:schema>.
    Sur les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <oxm:jaxb2-marshaller id="marshaller"
    		contextPath="org.example.person.schema" />
    	<oxm:jaxb2-marshaller id="unmarshaller"
    		contextPath="org.example.person.schema" />
    Et si je commente ces lignes (même je sais qu'elles me sont utiles) j'obtiens l'erreur suivante sur mon navigateur :
    org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [example.service.PersonServiceImpl] for bean with name 'personService' defined in ServletContext resource [/WEB-INF/spring-ws-servlet.xml]; nested exception is java.lang.ClassNotFoundException: example.service.PersonServiceImpl
    Du coup je sais pas trop si je m'approche ou non d'une solution.

  8. #8
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    juste une question:
    pourquoi mettre ceci en double:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <oxm:jaxb2-marshaller id="unmarshaller"
    		contextPath="org.example.person.schema" />
    Eric

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    J'avoue que je l'ignore. Celui que je remplace m'as laissé 2 web service à moitié fait et m'as juste indiqué qu'ils étaient pas loin de fonctionner.
    Mais j'imagine qu'il a penser distingué la génération du fichier xml de sa lecture.

    J'ai peut être une piste en effet j'ai ajouter la librairie spring-oxm-3.2.2.RELEASE.jar afin de pouvoir modifier le fichier spring-ws-servlet.xml ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:oxm="http://www.springframework.org/schema/oxm"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    	http://www.springframework.org/schema/oxm
    	http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd"> 
     
     
    	<bean id="personService" class="example.service.PersonServiceImpl"
    		init-method="initialize" />
    Donc la version 3.1 de oxm.
    Cependant sur mon navigateur j'ai toujours l'erreur :
    org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [person/src/example/service/PersonServiceImpl] for bean with name 'personService' defined in ServletContext resource [/WEB-INF/spring-ws-servlet.xml]; nested exception is java.lang.ClassNotFoundException: person/src/example/service/PersonServiceImpl
    Alors que celui-ci est correctement renseigné.
    Je pense que je m'approche d'une solution.

  10. #10
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    as-tu dit a spring d´utiliser une configuration annoté comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <context:annotation-config />
    etl´as tu dit ou se trouve les beans?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <context:component-scan base-package="nom.package.des.beans" />

  11. #11
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par maiki31 Voir le message
    java.lang.ClassNotFoundException: person/src/example/service/PersonServiceImpl
    Heu... "person/src", t'es sûr?
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    @jeffray03 : Je n'utilise pas les annotations sur l'appli.
    Mais pour le test j'ai tout de même ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <context:annotation-config />     
    	<context:component-scan base-package="src.example.service" />
    Ainsi que les la modif de xsi:schemaLocation et l'ajout de xmlns:context pour fonctionner. Cependant la problème reste le même.

    @Pill_S : Mon projet s'appelle "person" en effet.

    Merci pour votre aide si vous avez d'autres pistes je testerais avec plaisir, de mon coté je continue à me battre avec les jar et comment les faire fonctionner.

  13. #13
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Peut-être bien que le projet s'appelle personne ou toto, mais le nom d'une classe c'est la concaténation du package + le nom de la classe, pas le chemin du fichier sur le disque depuis la racine du projet

    Quand tu compile un projet, sous Eclipse ou autre, le compilateur se positionne d'abord dans le répertoire des sources avant de lancer les commandes...

    Essaie plutôt de référencer le nom "example.service.PersonServiceImpl" partout
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  14. #14
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par maiki31 Voir le message
    Mais pour le test j'ai tout de même ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <context:annotation-config />     
    	<context:component-scan base-package="src.example.service" />
    idem, ça c'est pas bon... "src" ne devrait pas faire partie du nom du package...

    Il serait certainement bon de revoir un peu les fondamentaux de Java
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  15. #15
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Oui désolé j'ai craqué j'ai testé avec plusieurs chemin en desespoire de cause.
    Cependant j'ai remarqué que lorsque j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <context:annotation-config />     
    <context:component-scan base-package="example.service" />
    J'obtiens :
    org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [example.service.PersonServiceImpl] for bean with name 'personService' defined in ServletContext resource [/WEB-INF/spring-ws-servlet.xml]; nested exception is java.lang.ClassNotFoundException: example.service.PersonServiceImpl
    Même si je ne voit pas pourquoi il ne le trouve pas.

  16. #16
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Regarde dans le répertoire de runtime (Tomcat? bin? target?) si tu as vraiment cette classe, et s'il n'y a pas d'erreur de typo.

    Parfois, les projets Eclipse ne se déploient pas correctement dans le container, ça m'est déjà arrivé (tu penses que tout est correct et quand tu vas voir sur le filesystem, il manque la moitié des artifacts)

    Car quand spring (ou la vm) dis qu'il ne trouve pas une classe, tu peux lui faire confiance, en général la classe n'existe pas dans l'environnement de runtime
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

Discussions similaires

  1. Problème de configuration de persistence.xml
    Par zied87 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 3
    Dernier message: 02/01/2011, 16h36
  2. Problème de configuration de log4j.xml
    Par menzlitsh dans le forum Logging
    Réponses: 6
    Dernier message: 24/04/2009, 13h21
  3. problème servlet xml
    Par youp_db dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 02/10/2006, 15h46
  4. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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