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 :

Erreur 406 Ajax et de Session Hibernate (affichage) [Web Services]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut Erreur 406 Ajax et de Session Hibernate (affichage)
    Bonjour à tous,

    Je viens vers vous pour vous faire par de mes petits soucis que je rencontre depuis hier.

    Premièrement, je souhaite faire une recherche qui nous donne des réponses adéquate suivant ce que l'utilisateur tape dans la barre de recherche (par exemple si il tape "R", j'affiche tout les résultats commençant par "R") et la recherche s'affine au fur et à mesure.

    Hier, l'envoi vers mon contrôlleur se passait très bien, aujourd'hui je me tape l'erreur :
    Error 400: Required String parameter 'className' is not present

    Ensuite, hier j'avais une autre erreur à cet envoi Ajax, mon controlleur ne me renvoyant pas le bon format et j'avais l'erreur suivante :

    Error 406: SRVE0295E: Error reported: 406

    Et franchement je vois pas d'où vient le problème, je pense avoir ajouter les bonnes dépendances dans Maven et pourtant rien à faire, si vous pouviez m'éclairer ça m'arrangerait beaucoup

    Ma requête Ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.ajax("searchClassName.html", {className : search}, function(data){
     
                });
    En sachant que si je fais un alert de search juste avant la requête il m'affiche bien ce que je veux.

    Mon controlleur Java :
    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
    @RequestMapping(value="/searchClassName", method=RequestMethod.GET)
    	@ResponseBody
    	public List<String> searchByName(@RequestParam(value = "className") String className){
    		List<MetaClass> resultSearchClassesByName = convertMetaClassCollectionToMetaClassList(metaClassService.searchClassByName(className));
    		List<String> resultString = new ArrayList<String>();
     
    		System.out.println("Classe recherchée : " + className);
    		for (MetaClass myClass : resultSearchClassesByName) {
    			System.out.println(myClass.getName());
    			resultString.add(myClass.getName());
    		}
     
    		for (String myClass : resultString){
    			System.out.println("class réponse : " + myClass);
    		}
     
    		return resultString;
    	}
    Ici pareil, via mes affichages console je récupère bien les infos qu'il me faut, c'est le return qui coince.

    Mes dépendances dans mon pom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
    		    <groupId>com.fasterxml.jackson.core</groupId>
    		    <artifactId>jackson-core</artifactId>
    		    <version>2.3.0</version>
    		</dependency>
     
    		<dependency>
    		    <groupId>com.fasterxml.jackson.core</groupId>
    		    <artifactId>jackson-databind</artifactId>
    		    <version>2.3.0</version>
    		</dependency>

    Via les System.out dans mon controlleur je vois bien dans la console que tout se base bien compe je le veux, c'est vraiment le return qui pose problème...

    J'ai essayer les dépendances suivantes dans mon pom, le résultat est le même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-core-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
     
            <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
    Mon autre soucis viens d'Hibernate, j'aimerais afficher des infos issue d'une relation à une autre table, mais Hibernate ferme la session après la première requête et je n'ai donc accès qu'aux infos de base que je souhaite affichées, pas le reste.

    En fouillant sur le net j'ai vu que la solution la plus simple était de mettre le lazy à false dans Hibernate, mais mon maitre de stage ne veut pas que j'utilise cette solution, du coup je sais pas trop comment faire niveau code pour avoir les autres infos dont j'ai besoin, je dois modifier le Dao ou le Service ?

    Sachant que pour l'instant j'ai ceci :
    Service :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Override
    	@Transactional(propagation=Propagation.SUPPORTS, readOnly=true)
    	public MetaClass getClassById(long id) {
    		MetaClass myClass = metaClassDao.getClassById(id);
     
    		myClass.getParentClass();
     
    		return myClass;
    	}
    Dao :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @Override
    	@Transactional
    	public Collection<MetaClass> searchClassByName(String name) {
    		Query query = sessionFactory.getCurrentSession().createQuery("from MetaClass where name like '" + name + "%'");
    		List<MetaClass> listSearchClassByName = query.list();
     
    		return listSearchClassByName;
    	}
    En voulant afficher un élément en relation j'ai donc cette erreur :

    Error 500: org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    Je vous remercie d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut
    J'ai régler l'erreur 400 en modifiant ma requête Ajax, mais j'ai toujours les deux autres erreurs, help svp :/

    Nouvelle requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.ajax({ type : 'GET', url : "searchClassName.html", data : {className : search}
    			}).done(function(){
     
    			}).fail(function(data){
    				alert(data);
    			});

  3. #3
    Membre chevronné Avatar de ruscov
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2007
    Messages : 347
    Par défaut
    Pour ton erreur 406, tu as response content type incorrect probablement et tu devrais ausso avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mvc:annotation-driven />
    dans ton servlet-context.xml.

    Pour Hibernate, il faudrait voir quelle est la config dans tes fichiers xml.
    Sinon, ça t'aidera peut-être mais dans ton web.xml, il y a une partie de la gestion des sessions Hibernate.

    Tu devrais avoir un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	<filter>
    		<filter-name>openEntityManagerInViewFilter</filter-name>
    		<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
    		<init-param>
    			<param-name>entityManagerFactoryBeanName</param-name>
    			<param-value>entityManagerFactory</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>openEntityManagerInViewFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    Sinon, si c'est un stage, il n'y a personen qu peut t'aider sur place?

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Par défaut
    Merci de la réponse, entre temps j'ai résolu mes soucis et j'ai pas penser à prévenir pardon ça m'était sortit de la tête ^^

    La plupart venaient d'une bétise, j'avais oublier je ne sais plus quoi et j'ai aussi changer la façon de faire la requête en utilisant un criteria et c'est passé tout seul.

    Haha malheureusement non, mon maitre de stage est souvent en télétravail ou occupé, les autres utilisent d'autres technologies ou font autre chose, on m'y reprendra à faire un stage dans une grosse boite ^^'

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Affichage messages d'erreur (data) $.ajax
    Par SunSeeker dans le forum jQuery
    Réponses: 2
    Dernier message: 28/01/2015, 16h10
  2. Spring-mvc + Ajax = Erreur 406 Inacceptable
    Par deli2025 dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 17/03/2014, 16h24
  3. message d'erreur perso lors fin de session
    Par zorba49 dans le forum ASP
    Réponses: 1
    Dernier message: 26/08/2005, 11h12
  4. [Hibernate][Struts] Fermeture des session hibernate
    Par osopardo dans le forum Hibernate
    Réponses: 2
    Dernier message: 22/08/2005, 17h30
  5. [Hibernate][Spring] Session Hibernate initialisée
    Par mauvais_karma dans le forum Hibernate
    Réponses: 12
    Dernier message: 08/08/2005, 13h07

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