Erro CORBA JSF+EJB

2 respostas
jsf
B

Olá pessoal, boa tarde.
Estou realizando um trabalho da faculdade em que preciso fazer um sistema CRUD simples. Fiz o banco de dados utilizando o SQL Oracle e estou utilizando o Glassfish 4.1.
Acontece quando clico em Salvar na minha página do JSF ele me retorna um erro abaixo.
Mas ele salva no banco de dados normalmente, quando faço a consulta pelo SQL. Já tentei usar outras versões do JDK mas sem sucesso também.

javax.faces.el.EvaluationException: javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL [telefone removido] Maybe; nested exception is:

org.omg.CORBA.MARSHAL: ADVERTÊNCIA: 00810057: Could not load class br.metodista.ads.modelo.Produto  vmcid: OMG  minor code: 57 completed: Maybe

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)

at javax.faces.component.UICommand.broadcast(UICommand.java:315)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)

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:415)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)

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:201)

at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)

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:284)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)

at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)

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:565)

at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)

at java.lang.Thread.run(Thread.java:745)

Caused by: javax.ejb.EJBException: java.rmi.MarshalException: CORBA MARSHAL [telefone removido] Maybe; nested exception is:

org.omg.CORBA.MARSHAL: ADVERTÊNCIA: 00810057: Could not load class br.metodista.ads.modelo.Produto  vmcid: OMG  minor code: 57 completed: Maybe

at br.metodista.ads.ejb._ProdutoRemote_Wrapper.consultarPorID(br/metodista/ads/ejb/_ProdutoRemote_Wrapper.java)

at br.metodista.ads.mb.ProdutoMB.pesquisar(ProdutoMB.java:35)

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 com.sun.el.parser.AstValue.invoke(AstValue.java:289)

at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:304)

at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)

at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)

at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)

at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)

 36 more

Caused by: java.rmi.MarshalException: CORBA MARSHAL [telefone removido] Maybe; nested exception is:

org.omg.CORBA.MARSHAL: ADVERTÊNCIA: 00810057: Could not load class br.metodista.ads.modelo.Produto  vmcid: OMG  minor code: 57 completed: Maybe

at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:266)

at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.wrapException(Util.java:695)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:257)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:150)

at com.sun.corba.ee.impl.presentation.rmi.codegen.CodegenStubBase.invoke(CodegenStubBase.java:226)

at br.metodista.ads.ejb.__ProdutoRemote_Remote_DynamicStub.consultarPorID(br/metodista/ads/ejb/__ProdutoRemote_Remote_DynamicStub.java)

 48 more

Caused by: org.omg.CORBA.MARSHAL: ADVERTÊNCIA: 00810057: Could not load class br.metodista.ads.modelo.Produto  vmcid: OMG  minor code: 57 completed: Maybe

at com.sun.proxy.$Proxy169.couldNotFindClass(Unknown Source)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:983)

at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:813)

at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:512)

at com.sun.corba.ee.impl.copyobject.ORBStreamObjectCopierImpl.copy(ORBStreamObjectCopierImpl.java:75)

at org.glassfish.pfl.dynamic.copyobject.impl.FallbackObjectCopierImpl.copy(FallbackObjectCopierImpl.java:64)

at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.copyObject(Util.java:770)

at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.copyResult(DynamicMethodMarshallerImpl.java:472)

at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:241)

 51 more`

e pelo que entendi do erro acima, ele não esta conseguindo fazer a leitura da class Produto, mas não sei como resolver.

Essa é a minha classe Produto
`/*

  • 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 br.metodista.ads.modelo;
import java.io.Serializable;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import <a href="http://javax.persistence.Id">javax.persistence.Id</a>;

import javax.persistence.SequenceGenerator;

import javax.persistence.Table;

2 Respostas

peczenyj

Cara

esse tipo de erro em geral é classpath.

vc tem o br.metodista.ads.modelo.Produto disponivel em todas as maquinas envolvidas? pq CORBA e EJB são usados em invocação remota então certamente um lado não tem acesso a esta classe e ai da xabu pq não consegue serializar ( ou deserializar )

B

Opa rapaz,
Pois é, procurei bastante pela net e não encontrei muita coisa para solucionar. Já experimentei trocar o JDK usando alguma versão anterior e mesmo assim o erro persiste.
Eu só estou testando esse código em minha máquina mesmo. Mas não sei mais o que fazer, já estou a dois dias com esse problema. Mas agradeço a ajuda, se eu encontrar a solução deixo a resposta aqui para os demais.
Não estou conseguindo deixar minha classe Produto aqui, diz que usuários novos só podem citar no máximo dois usuários.

Edit:
Consegui resolver. Realmente era o que você disse, ele não estava conseguindo ter acesso a classe Produto, não sei porque. Estava usando a anotação @Remote na minha interface. Mudei para @Local está funcionando sem problemas. Mas mesmo assim vou procurar saber o que está acontecendo quando é usado @Remote. Mas muito obrigado pela atenção.

Criado 14 de novembro de 2016
Ultima resposta 15 de nov. de 2016
Respostas 2
Participantes 2