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

Format d'�change (XML, JSON...) Java Discussion :

Erreur �injection de ressources dans le bean [JAXB]


Sujet :

Format d'�change (XML, JSON...) Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par d�faut Erreur �injection de ressources dans le bean
    Bonjour � tous,

    Je d�bute dans la programmation JSF. Ici j'essaie de r�cup�rer des donn�es d'un fichier xml afin de placer des markers sur une carte.

    J'utilise JAXB pour la "gestion" des donn�es dans l'xml.
    Lors de la g�n�ration de mon code, j'obtiens l'erreur : "Erreur lors de l�injection de ressources dans le bean g�r� �markersView�"

    Je ne sais pas exactement quelle partie du code pourrait �tre utile � la r�solution de mon probl�me donc je vais mettre mon beanmarkersView et au besoin, n'h�sitez pas � me demander d'autres parties de mon code.

    markersView :

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package beanMarker;
     
    import generated.Carto;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import javax.inject.Named;
    import javax.enterprise.context.Dependent;
    import java.io.Serializable;
    import java.util.List;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.annotation.PostConstruct;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.ViewScoped;
    import javax.xml.bind.JAXBContext;
    import javax.xml.bind.JAXBException;
    import javax.xml.bind.Unmarshaller;
     
    import org.primefaces.event.map.OverlaySelectEvent;
    import org.primefaces.model.map.DefaultMapModel;
    import org.primefaces.model.map.LatLng;
    import org.primefaces.model.map.MapModel;
    import org.primefaces.model.map.Marker;
     
    /**
     *
     * @author Jérôme
     */
    @Named(value = "MarkersView")
    @Dependent
    @ManagedBean
    @ViewScoped
    public class MarkersView implements Serializable {
     
        private MapModel advancedModel;
        private Marker marker;
     
        String coordNumber = "coord";
     
        /*public MarkersView() throws JAXBException, FileNotFoundException {
            JAXBContext jc= JAXBContext.newInstance(generated.ObjectFactory.class);
            Unmarshaller u = jc.createUnmarshaller();
            Carto carto
                    = (Carto) u.unmarshal(new FileInputStream("C:\\Users\\Jérôme\\Documents\\EPSI I4\\WebServices - MARTHOS Lucien\\Applications\\2-TP1\\carto.xml"));
            List markers = (List) carto.getMarkers();
            for(int i=0; i < markers.size(); i++) {
                Marker markerUnique = (Marker) markers.get(i);
            }
        }*/
     
        @PostConstruct
        public void init() {
            try {
                advancedModel = new DefaultMapModel();
     
                JAXBContext jc = JAXBContext.newInstance(generated.ObjectFactory.class);
     
                Unmarshaller u = jc.createUnmarshaller();
     
                Carto carto = (Carto) u.unmarshal(new FileInputStream("C:\\Users\\Jérôme\\Documents\\EPSI I4\\WebServices - MARTHOS Lucien\\Applications\\2-TP1\\carto.xml"));
     
                List markers = (List) carto.getMarkers().getMarker();
     
                for(int i=0; i < markers.size(); i++) {
                    coordNumber = coordNumber+i;
                    System.out.println(coordNumber);
     
                    marker = (Marker) markers.get(i);
                    LatLng coordNumber = new LatLng(marker.getLatlng().getLat(),marker.getLatlng().getLng());
     
                    advancedModel.addOverlay(new Marker(coordNumber));
                }
     
     
     
     
                //coordonnées
                //LatLng coord1 = new LatLng(48.8613, 2.32442);
                //LatLng coord2 = new LatLng(48.8371336894515, 2.37434055460561);
     
                //basic marker
                //advancedModel.addOverlay(new Marker(coord1, "Port Solferino"));
                //advancedModel.addOverlay(new Marker(coord2, "Quai Mauriac / Pont de Bercy"));
            } catch (JAXBException ex) {
                Logger.getLogger(MarkersView.class.getName()).log(Level.SEVERE, null, ex);
            } catch (FileNotFoundException ex) {
                Logger.getLogger(MarkersView.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
     
        public MapModel getAdvancedModel() {
            return advancedModel;
        }
     
        public void onMarkerSelect(OverlaySelectEvent event) {
            marker = (Marker) event.getOverlay();
        }
     
        public Marker getMarker() {
            return marker;
        }
    }
    Merci d'avance pour votre aide et vos conseils

  2. #2
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par d�faut Update
    Je me suis rendu compte que dans mon index.xhtml j'appelais mon bean avec "markersView" et non avec "MarkersView". J'ai donc fait les modifications n�cessaires mais j'obtiens maintenant cette erreur : "WELD-000049: Unable to invoke public void beanMarker.MarkersView.init() on beanMarker.MarkersView@18653830"

    La stack trace :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    org.jboss.weld.exceptions.WeldException: WELD-000049: Unable to invoke public void beanMarker.MarkersView.init() on beanMarker.MarkersView@18653830
    	at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:100)
    	at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.postConstruct(DefaultLifecycleCallbackInvoker.java:81)
    	at org.jboss.weld.injection.producer.BasicInjectionTarget.postConstruct(BasicInjectionTarget.java:126)
    	at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:162)
    	at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:69)
    	at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:101)
    	at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
    	at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:761)
    	at org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:120)
    	at org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:90)
    	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:188)
    	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116)
    	at com.sun.el.parser.AstValue.getBase(AstValue.java:151)
    	at com.sun.el.parser.AstValue.getValue(AstValue.java:200)
    	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    	at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    	at org.primefaces.component.gmap.GMap.getModel(GMap.java:113)
    	at org.primefaces.component.gmap.GMapRenderer.encodeOverlays(GMapRenderer.java:123)
    	at org.primefaces.component.gmap.GMapRenderer.encodeScript(GMapRenderer.java:87)
    	at org.primefaces.component.gmap.GMapRenderer.encodeEnd(GMapRenderer.java:51)
    	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
    	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
    	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    	at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    	at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    	at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    	at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    	at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    	at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    	at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    	at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    	at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    	at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.reflect.InvocationTargetException
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.jboss.weld.injection.producer.DefaultLifecycleCallbackInvoker.invokeMethods(DefaultLifecycleCallbackInvoker.java:98)
    	... 65 more
    Caused by: java.lang.ClassCastException: generated.Marker cannot be cast to org.primefaces.model.map.Marker
    	at beanMarker.MarkersView.init(MarkersView.java:73)
    	... 70 more

  3. #3
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par d�faut
    Il se peut que vous avez quelque part les codes qui font le pont entre les donn�es des markers dans carto.xml et la classe Marker de primefaces - c'est possible mais on ne sait pas d'une mani�re certaine. En tout cas, ce qu'on fait sortir via jaxb n'est pas de Marker de primefaces, mais de classe de generated.Marker. Les d�claration des variables devraient se faire avec des types pleinement qualifies pour le package "generated" pour Marker, Markers, sinon pour Carto, pour ne pas en conflit avec Marker, Markers,... de primefaces.
    Code java : 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
    //...etc
        private generated.Marker marker;
        //etc...
        public void init() {
            //etc...
     
                generated.Carto carto = (generated.Carto) u.unmarshal(new FileInputStream("C:\\Users\\Jérôme\\Documents\\EPSI I4\\WebServices - MARTHOS Lucien\\Applications\\2-TP1\\carto.xml"));
     
                List<generated.Marker> markers = (List<generated.Marker>) carto.getMarkers().getMarker();
     
                //etc...
     
                   marker = (generated.Marker) markers.get(i);
     
            //etc...
        }
     
        //etc...
    Voil� ce que je peux d�duire avec beaucoup d'extrapolation si �a fait au final apporter d'id�e bien raisonn�e.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2017
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 3
    Par d�faut
    Merci tsuji. Visiblement le probl�me venait bien de �a.
    Voici le r�sultat ==> Nom : résultat.PNG
Affichages : 1635
Taille : 490,3 Ko

    Ca me rassure de ne pas avoir eu un probl�me de logique. ^^'

    Bonne soir�e � tous.
    Je clos le sujet

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 24/05/2013, 02h02
  2. R�ponses: 4
    Dernier message: 25/05/2011, 09h23
  3. Injection de d�pendance dans un Bean (MVC)
    Par clem_alain dans le forum Java EE
    R�ponses: 8
    Dernier message: 08/02/2011, 10h58
  4. Weblogic 10.0 : injection d'EJB dans managed bean JSF
    Par loic38_01 dans le forum Weblogic
    R�ponses: 1
    Dernier message: 05/09/2008, 13h46
  5. [EJB3] Injection dans un bean
    Par *alexandre* dans le forum Java EE
    R�ponses: 5
    Dernier message: 14/02/2007, 09h17

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