Aceder por JSP a um Session Bean em JBoss

Eu tenho estado a tentar criar um exemplo no JBOSS, em que se tem um session bean e é acedido por JSP.

test.jsp

<%@ page import="javax.naming.InitialContext,
                 javax.naming.Context,
                 java.util.Properties,
                 com.zoo.Tiger,
                 com.zoo.TigerBean"%>
<%
    Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY,
            "org.jnp.interfaces.NamingContextFactory");
        props.put(Context.PROVIDER_URL, "localhost:8080");

    Context ctx = new InitialContext(props);
    TigerBean home = (TigerBean)ctx.lookup("Tiger");
    String str = home.roar();
    ctx.close();
%>

<html>
<head>
<title>Insert title here</title>
</head>
<body>
<b><%= str %></b>
</body>
</html>
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd">

<web-app>
  <display-name>Hello World</display-name>
</web-app>

Tiger.java

package com.zoo;

import javax.ejb.Local;

@Local
public interface Tiger {
	String foo(String param);
	public String roar();
}

TigerBean.java

package com.zoo;

import javax.ejb.Stateless;
import com.zoo.Tiger;

/**
 * @ejb.bean
 *   name="Tiger" 
 *   jndi-name="Tiger"
 *   transaction-type="Container"
 * 
 *
 */
public @Stateless class TigerBean implements Tiger {
		
	/** 
	 *
	 *  
	 * @ejb.interface-method view-type="local"
	 * 
	 *  
	 * @generated
	 *
	 * //TODO: Must provide implementation for bean method stub
	 */
	public String foo(String param) {
		return null;
	}

	/** 
	 *
	 *  
	 * @ejb.interface-method view-type="local"
	 *  
	 *
	 */
	public String roar() {
		return "Roar!";
	}    
}    

ejb-jar.xml

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0">
   <enterprise-beans>
  	<session>
  		<ejb-name>TigerBean</ejb-name>
  	</session>
  </enterprise-beans>
</ejb-jar>

application.xml

<?xml version="1.0" encoding="ASCII"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:application="http://java.sun.com/xml/ns/javaee/application_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
  <display-name>ZooClientEAR</display-name>
  <module>
    <ejb>ZooBeansProject.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>ZooClient.war</web-uri>
      <context-root>ZooClient</context-root>
    </web>
  </module>
</application>

Quando uso o link:
http://localhost:8080/ZooClient/test.jsp

tenho o erro:

pt1w3scc:/cygdrive/d/jboss-4.2.2.GA/bin$ 15:30:23,890 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.io.EOFException
        at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2232)
        at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
        at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
        at java.io.ObjectInputStream.<init>(ObjectInputStream.java:268)
        at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:255)
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1533)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:634)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
        at javax.naming.InitialContext.lookup(InitialContext.java:351)
        at org.apache.jsp.test_jsp._jspService(test_jsp.java:67)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:595)

Sabem-me dizer o que está mal?

Obrigado.