Ajuda leitura xml

Galera…

Eu to me quebrando aqui, e nao to conseguindo usar o XStream pra ler um arquivo xml. Não sei o que esta acontecendo:

metodo para ler o xml:

public void geraMenuStream() throws ParserConfigurationException, SAXException, IOException, ClassNotFoundException, JDOMException, XMLStreamException{
        //busca requisicao da pagina
        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        //caminho do arquivo
        String s = request.getSession().getServletContext().getRealPath("/menus.xml");
        
        File file = new File(s);
        if (file.exists()){
               
            BufferedReader br = new BufferedReader(new FileReader(file));
                       
            XStream xstream = new XStream();        
            List list = (List) xstream.fromXML(br);
            System.out.println(list);
        
        }     
        
}

O arquivo xml:


<?xml version="1.0" ?>
<menus>
    <menu dsc="Consultar">        
        <subMenu dsc="Departamentos">
            <itemSubMenus dsc="Ordem Crescente">
                 <Link>go_deptTableView</Link>
                 <icon>select_next.gif</icon>
            </itemSubMenus>
            <itemSubMenus dsc="Ordem Decrescente">
                 <Link>go_deptTableView</Link>
                 <icon>select_prev.gif</icon>
            </itemSubMenus>
        </subMenu>
    </menu>
    <menu dsc="Cadastrar">
        <subMenu dsc="Pessoas">
            <Link>go_cadPessoa</Link>
            <icon>oneormore.gif</icon>
        </subMenu>
        <subMenu dsc="Automovel">
            <Link>go_cadastroAutomovel</Link>    
        </subMenu>
    </menu>        
    <menu dsc="Sair">  
       <Link>go_goodBye</Link>
    </menu>
</menus>

quando executa esta linha:

List list = (List) xstream.fromXML(br); 

Ta gerando um erro, mas se eu colocar uma rotina para ler o conteudo do BufferedReader antes, ele traz o xml. Estou fazendo alguma coisa errada nesta linha?

por favor, ja estou o dia todo tentando resolver isso.

Valeu…

Qual erro ocorre ? cole a exception aqui.

Só um detalhe: na linha onde ocorre o erro o atributo e do tipo List porque tentei usar um modelo que achei num tutorial, mas acontece o mesmo erro se o atributo for do tipo Object.

Esta é a pilha de erros:

javax.faces.el.EvaluationException: javax.faces.el.EvaluationException: Exception getting value of property geraMenu of base of type : br.com.teclogica.exemploJsf.controller.Menu at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:206) at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154) at javax.faces.component.UISelectItems.getValue(UISelectItems.java:110) at org.apache.myfaces.custom.navmenu.NavigationMenuUtils.addNavigationMenuItems(NavigationMenuUtils.java:115) at org.apache.myfaces.custom.navmenu.NavigationMenuUtils.getNavigationMenuItemList(NavigationMenuUtils.java:100) at org.apache.myfaces.custom.navmenu.jscookmenu.HtmlJSCookMenuRenderer.encodeChildren(HtmlJSCookMenuRenderer.java:161) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:701) at javax.faces.webapp.UIComponentTag.encodeChildren(UIComponentTag.java:607) at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:544) at org.apache.jsp.inicial_jsp._jspx_meth_t_jscookMenu_1(inicial_jsp.java:517) at org.apache.jsp.inicial_jsp._jspx_meth_h_form_0(inicial_jsp.java:207) at org.apache.jsp.inicial_jsp._jspx_meth_f_view_0(inicial_jsp.java:141) at org.apache.jsp.inicial_jsp._jspService(inicial_jsp.java:98) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:97) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: javax.faces.el.EvaluationException: Exception getting value of property geraMenu of base of type : br.com.teclogica.exemploJsf.controller.Menu at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:96) at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167) at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151) at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243) at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173) ... 56 more Caused by: javax.faces.el.EvaluationException: Bean: br.com.teclogica.exemploJsf.controller.Menu, property: geraMenu at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:442) at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:82) ... 60 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:438) ... 61 more Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: menus : menus at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:49) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:72) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.CGLIBMapper.realClass(CGLIBMapper.java:40) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:60) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:76) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26) at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:34) at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:113) at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:832) at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:819) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:767) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:759) at br.com.teclogica.exemploJsf.controller.GeraMenuDinamico.geraMenuStream(GeraMenuDinamico.java:113) at br.com.teclogica.exemploJsf.controller.Menu.getGeraMenu(Menu.java:84) ... 66 more [/code]