[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Fwd: [reverbel-sma] problema com lookup



Cara VALEU!!!!!!!!!
era isso mesmo, não sabia mais o que fazer.

Falou!

2006/9/7, Ivan F. Martinez <ivanfm@xxxxxxxxxx>:
Esse problema eu tive.

Veja os arquivos que vc utilizou para deploy, como está rodando tudo na mesma VM não pode existir mais de uma vez o .class da interface.

Se vc tem um jar pro EJB e um jar para a o servlet, tem que deixar a interface em somente um dos jars normalmente o do EJB.
Achei isso no wiki do JBoss.


On Thu, 7 Sep 2006 14:02:19 -0300 "Alexandre Freire" <chegado@xxxxxxxxx> wrote:

AF> Sem o jndi.properties ocorre o seguinte erro (tanto na chamada à
AF> interface local quanto na remota)
AF>
AF> 11:37:53,859 ERROR [[Controller]] Servlet.service() for servlet
AF> Controller threw exception
AF> java.lang.RuntimeException: java.lang.ClassCastException: $Proxy67
AF>         at matriculas.web.AdministradorMatriculasAbstractAction.<init>(Unknown
AF> Source)
AF>         at matriculas.web.CadastraAlunoAction.<init>(CadastraAlunoAction.java:8)
AF>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
AF>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
AF>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
AF>         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
AF>         at java.lang.Class.newInstance0(Class.java:350)
AF>         at java.lang.Class.newInstance(Class.java:303)
AF>         at matriculas.web.Controller.service(Controller.java:26)
AF>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
AF>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
AF>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
AF>         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
AF>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
AF>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
AF>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
AF>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
AF>         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
AF>         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
AF>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
AF>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
AF>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
AF>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
AF>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
AF>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
AF>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
AF>         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
AF>         at java.lang.Thread.run(Thread.java:595)
AF> Caused by: java.lang.ClassCastException: $Proxy67
AF>         ... 28 more
AF>
AF> No JNDIview consta:
AF>
AF> +- AdministradorDeMatriculasBean (class: org.jnp.interfaces.NamingContext)
AF>   |   +- local (proxy: $Proxy68 implements interface
AF> matriculas.ejb.AdministradorDeMatriculasLocal,interface
AF> org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject)
AF>   |   +- remote (proxy: $Proxy67 implements interface
AF> matriculas.ejb.AdministradorDeMatriculasRemote,interface
AF> org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
AF>
AF>
AF> só consigo chamar a interface remota de fora do jboss.
AF>
AF> Valeu Ivan!
AF>
AF>
AF> 2006/9/7, Ivan Neto <ivanneto@xxxxxxxxx>:
AF> > OLá Alexandre.
AF> >
AF> > Como o seu servlet e seu EJB vão estar executando dentro da mesma
AF> > intância de servidor de aplicações, acredito que incluir um
AF> > jndi.properties seja desnecessário. Uma outra coisa: você pode usar
AF> > "AdministradorDeMatriculasBean/local" ao invés de
AF> > "AdministradorDeMatriculasBean/remote" (pois o servlet e o EJB estão
AF> > na mesma instância de servidor de aplicações). Nesse caso, você vai
AF> > precisar criar também uma interface local. Veja o exemplo em:
AF> >
AF> >  http://docs.jboss.org/ejb3/app-server/tutorial/stateless/stateless.html
AF> >
AF> > Se não resolver o problema, por favor volte a escrever. Um abraço!
AF> >
AF> > On 9/6/06, Alexandre Freire <chegado@xxxxxxxxx> wrote:
AF> > > Olá,
AF> > >
AF> > > ao executar o seguinte código (dentro de uma servlet rodando no jboss):
AF> > >
AF> > > AdministradorDeMatriculas adm =
AF> > >
AF> > >
AF> > > (AdministradorDeMatriculas)
AF> > > ctx.lookup("AdministradorDeMatriculasBean/remote");
AF> > >
AF> > > ocorre o seguinte erro:
AF> > >
AF> > > 13:34:20,470 ERROR [[Controller]] Servlet.service() for servlet
AF> > > Controller threw exception
AF> > > java.rmi.ServerException: RemoteException occurred in server thread;
AF> > > nested exception is:
AF> > >         java.rmi.UnmarshalException: error unmarshalling arguments; nested
AF> > > exception is:
AF> > >         java.net.MalformedURLException: no protocol: de
AF> > >         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
AF> > >         at sun.rmi.transport.Transport$1.run(Transport.java:153)
AF> > >         at java.security.AccessController.doPrivileged(Native Method)
AF> > >         at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
AF> > >         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
AF> > >         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
AF> > >         at java.lang.Thread.run(Thread.java:595)
AF> > >         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
AF> > >         at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
AF> > >         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
AF> > >         at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
AF> > >         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
AF> > >         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
AF> > >         at javax.naming.InitialContext.lookup(InitialContext.java:351)
AF> > >         at matriculas.web.CadastraAlunoAction.execute(CadastraAlunoAction.java:17)
AF> > >         at matriculas.web.Controller.service(Controller.java:29)
AF> > >         at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
AF> > >         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
AF> > >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
AF> > >         at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
AF> > >         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
AF> > >         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
AF> > >         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
AF> > >         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
AF> > >         at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
AF> > >         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
AF> > >         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
AF> > >         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
AF> > >         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
AF> > >         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
AF> > >         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
AF> > >         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
AF> > >         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
AF> > >         at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
AF> > >         at java.lang.Thread.run(Thread.java:595)
AF> > > Caused by: java.rmi.UnmarshalException: error unmarshalling arguments;
AF> > > nested exception is:
AF> > >         java.net.MalformedURLException: no protocol: de
AF> > >         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:282)
AF> > >         at sun.rmi.transport.Transport$1.run(Transport.java:153)
AF> > >         at java.security.AccessController.doPrivileged(Native Method)
AF> > >         at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
AF> > >         at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
AF> > >         at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
AF> > >         ... 1 more
AF> > > Caused by: java.net.MalformedURLException: no protocol: de
AF> > >         at java.net.URL.<init>(URL.java:567)
AF> > >         at java.net.URL.<init>(URL.java:464)
AF> > >         at java.net.URL.<init>(URL.java:413)
AF> > >         at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747)
AF> > >         at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147)
AF> > >         at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
AF> > >         at org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.java:91)
AF> > >         at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
AF> > >         at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
AF> > >         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1538)
AF> > >         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
AF> > >         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
AF> > >         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
AF> > >         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
AF> > >         at javax.naming.CompoundName.readObject(CompoundName.java:554)
AF> > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
AF> > >         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
AF> > >         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
AF> > >         at java.lang.reflect.Method.invoke(Method.java:585)
AF> > >         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:919)
AF> > >         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1813)
AF> > >         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
AF> > >         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
AF> > >         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
AF> > >         at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
AF> > >         at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279)
AF> > >         ... 6 more
AF> > >
AF> > >
AF> > > no JNDIview consta a seguinte informação a respeito do nome que eu
AF> > > estou fazendo lookup:
AF> > >
AF> > >  +- AdministradorDeMatriculasBean (class: org.jnp.interfaces.NamingContext)
AF> > >   |   +- remote (proxy: $Proxy66 implements interface
AF> > > matriculas.ejb.AdministradorDeMatriculas,interface
AF> > > org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
AF> > >
AF> > >
AF> > > Minha suspeita é de que o problema está no jndi.properties:
AF> > >
AF> > > java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
AF> > > java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
AF> > > java.naming.provider.url=localhost
AF> > >
AF> > > É isso, valeu!
AF> > >
AF> >
AF> >
AF> > --
AF> > Ivan Neto
AF> >
AF>


--