I was getting the same error using b3. I'm not sure about b5 but you can
try this:
http://jakarta.apache.org/turbine/howto/jboss-howto.html
> -----Original Message-----
> From: Remy Maucherat [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, June 05, 2001 12:01 AM
> To: [EMAIL PROTECTED]
> Subject: Re: java.net.MalformedURLException: unknown protocol: jndi
>
>
> > hey, thanks for responding directly to me.. i will post this to the
> jakarta
> > & jboss lists
> > so anyone else recieve this error knows about as much as we do =)
> >
> > 1. i picked up this problem again when i upgraded to 4.0b5. from 4.0b1
> > 2. i recieve this error regardless of whether i start tomcat
> with -nonaming
> > 3. the ejb is declared stateless in the descriptor.
> > 4. the ejb is declared in a resource element in the war descriptor
> > 5. the lookup is performed by simple name each time ie "Manager" not
> > "comp://javax.env/Manager" nor "jndi://Manager".
> > 6. i believe this to be a jboss jndi problem as the
> > StreamRemoteCall.exceptionRecievedFromServer states
> > 7. my calls from servlet to this ejb actually work ( i see my ejb debug
> > notes in jboss log )
> > 8. my servlet invokes a class that looks up & calls the ejb
> > 9. the lookup succeeds however the method invocation fails ( with the
> below
> > exception )
>
> Is jBoss running in the same VM ?
> I really don't understand what happens here ...
>
> > i did read something about java naming security improvements and changes
> in
> > jdk1.3
> > anyway i've changed catalina.policy to grant all permissions same with
> > jboss.policy ( default )
> > also removed lkeading comment from servername in jndi.properties
> >
> > stateless ejb remote proxies ( ie client side interfaces ) are
> serializable
> > and interchangeable, so its not a proxy
> mixup/classloader/security thing?
> > right?
> > we're not using jarkarta/common/lib/jndi.jar as naming provider.. we're
> > using jnp-client.jar
>
> It's not a problem which is related to the JNDI ENC at all.
>
> The protocol is named "jndi" because the resources come from a JNDI
> directory context implementation.
>
> Remy
>
> >
> > From: Christopher G. Stach II [mailto:[EMAIL PROTECTED]]
> > Sent: Sunday, 3 June 2001 4:24 PM
> > To: [EMAIL PROTECTED]
> > Subject: java.net.MalformedURLException: unknown protocol: jndi
> >
> >
> > Hey there, I'm using JBoss 2.2.2 and Tomcat 4.0b5 (separate) and I'm
> > having this problem also. I have other EJBs that work just
> fine, but this
> > one doesn't. Actually, it's just a single method in this EJB
> that doesn't
> > work. I didn't find any followups to this thread. Have you
> figured this
> > out?
> >
> > My stack trace, to compare:
> >
> > java.lang.reflect.UndeclaredThrowableException:
> > java.net.MalformedURLException: unknown protocol: jndi
> > at
> >
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Str
> eamRemoteC
> > all.java:245)
> > at
> >
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
> > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> > at
> >
> org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown
> > Source)
> > at
> >
> org.jboss.ejb.plugins.jrmp.interfaces.StatefulSessionProxy.invoke(
> StatefulSe
> > ssionProxy.java:186)
> > at $Proxy1.handleEvent(Unknown Source)
> > at
> >
> com.cig.controller.web.WebControllerWebImpl.handleEvent(WebControl
> lerWebImpl
> > .java:113)
> > at com.cig.controller.web.Main.doRequestHandler(Main.java:322)
> > at com.cig.controller.web.Main.processRequest(Main.java:188)
> > at com.cig.controller.web.Main.doPost(Main.java:93)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(A
> pplication
> > FilterChain.java:254)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicati
> onFilterCh
> > ain.java:194)
> > at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapp
> erValve.ja
> > va:255)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 66)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:472)
> > at
> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardConte
> xtValve.ja
> > va:225)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 66)
> > at
> >
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesVa
> lve.java:2
> > 46)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 64)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:472)
> > at
> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > at
> >
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2252)
> > at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValv
> e.java:164
> > )
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 66)
> > at
> >
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 64)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:472)
> > at
> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngine
> Valve.java
> > :163)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipel
> ine.java:5
> > 66)
> > at
> >
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.
> java:472)
> > at
> > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
> > at
> >
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProce
> ssor.java:
> > 875)
> > at
> >
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor
> .java:952)
> > at java.lang.Thread.run(Thread.java:484)
> >
> > chris
> >
> > To: "'tomcat-user@xxxxxxxxxxxxxxxxxx'" <tomcat-user@xxxxxxxxxxxxxxxxxx>
> > Subject: java.net.MalformedURLException: unknown protocol: jndi
> > From: Warren Crossing <WarrenC@xxxxxxxxxxxxx>
> > Date: Tue, 3 Apr 2001 14:59:23 +1000
> > Delivered-To: mailing list [EMAIL PROTECTED]
> > list-help: <mailto:[EMAIL PROTECTED]>
> > list-post: <mailto:[EMAIL PROTECTED]>
> > list-unsubscribe: <mailto:[EMAIL PROTECTED]>
> > Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
> > Reply-To: tomcat-user@xxxxxxxxxxxxxxxxxx
> >
> >
> >
> > tomcat 4.0 beta2
> >
> > overview/symptom
> >
> > A servlet instance invokes a method on an enterprise bean.. the
> bean is a
> > CLASS/STATIC field of the servlet - execution occurs normally
> > however when this servlet calls a class that invokes the same field
> > reference of the servlet class everything fails.
> >
> > detail
> >
> > 1 AbstractPortal.service ( servlet ) does naming lookup for ejb and
> invokes
> > Manager.load method [ OK ]
> > 2 delegates processing to WorkFlow.processEvent
> > 3 WorkFlow invokes store method on AbstractPortal.Manager ejb reference
> > [FAILED]
> > 4 control returns to AbstractPortal
> > 5 AbstractPortal.service ( servlet ) invokes Manager.store method [ OK ]
> >
> > both calls can c class access to org.jboss.ejb.plugins.jrmp.server in
> > www/WEB-INF/lib
> > step 3 cannot c ${CATALINA_HOME}/common/lib/jndi.jar and causes stack
> trace
> > 1
> >
> > boundary condition
> >
> > if i take ${CATALINA_HOME}/common/lib/jndi.jar and place it in
> > www/WEB-INF/lib i receive stacktrace 2 @ point 1
> > i know the sequence works in tomcat 4.0 beta1
> > launching catalina with -nonaming has no effect
> >
> > assumption
> >
> > org.apache.naming is not used in any calls..
> > the classloader that loaded AbstractPortal also loaded WorkFlow
> > the classloader that loaded WorkFlow is used to access
> > AbstractPortal.Manager
> >
> > question
> >
> > what is different about these calls..
> > 1 form 3 from 5 ?? except 1 & 5 occur from the class with the STATIC
> > reference and is a servlet.. or something..
> > could it be a subtle classloader/classpath issue??
> >
> > i will move the code around and try to reproduce it in a simple
> context..
> >
> > stacktrace 1
> >
> > java.lang.reflect.UndeclaredThrowableException:
> > java.net.MalformedURLException: unknown protocol: jndi
> > at
> >
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Str
> eamRemoteC
> > all.java:245)
> > at
> >
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
> > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> > at
> >
> org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker_Stub.invoke(Unknown
> > Source)
> > at
> >
> org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke
> (Stateless
> > SessionProxy.java:188)
> > at $Proxy1.store(Unknown Source)
> > at
> > nu.tradeforce.portal.content.WorkFlow.processEvent(WorkFlow.java:74)
> > at
> >
> nu.tradeforce.portal.control.AbstractPortal.dispatch(AbstractPorta
> l.java:110
> > )
> > at
> >
> nu.tradeforce.portal.control.AbstractPortal.service(AbstractPortal
> .java:174)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >
> > stack trace 2
> >
> > javax.naming.CommunicationException. Root exception is
> > java.rmi.ServerException: RemoteException occurred in server thread;
> nested
> > exception is:
> > java.rmi.UnmarshalException: error unmarshalling
> arguments; nested
> > exception is:
> > java.net.MalformedURLException: unknown protocol: jndi
> > java.rmi.UnmarshalException: error unmarshalling arguments; nested
> exception
> > is:
> > java.net.MalformedURLException: unknown protocol: jndi
> > java.net.MalformedURLException: unknown protocol: jndi
> > at
> >
> sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Str
> eamRemoteC
> > all.java:245)
> > at
> >
> sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:220)
> > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
> > at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
> > at
> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:295)
> > at
> org.jnp.interfaces.NamingContext.lookup(NamingContext.java:279)
> > at javax.naming.InitialContext.lookup(InitialContext.java:354)
> > at
> >
> nu.tradeforce.portal.control.AbstractPortal.lookupManager(Abstract
> Portal.jav
> > a:73)
> > at
> > nu.tradeforce.portal.control.AbstractPortal.init(AbstractPortal.java:36)
> >
> >
> > its completly bugged my out!! any ideas?
> > -wozza