You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by Steve McNally <Mc...@synamic.co.uk> on 2000/10/23 13:50:13 UTC

Producers and EJB's

I am trying to use a cocoon producer to pass a parameter to an ejb to return
some data but when I do I get the following Exception

java.lang.NoSuchMethodError
	at producer.UserProducer.getStream(UserProducer.java:63)
	at
org.apache.cocoon.producer.AbstractProducer.getDocument(AbstractProducer.jav
a:96)
	at org.apache.cocoon.Engine.handle(Engine.java:340)
	at org.apache.cocoon.Cocoon.service(Cocoon.java:167)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
	at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
	at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
	at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:160)
	at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338
)
	at java.lang.Thread.run(Thread.java:484)

When I call the EJB without passing a parameter it works perfectly 

Does anyone have any ideas ??????

An exmaple of the code is

 public Reader getStream(HttpServletRequest request) throws IOException {
    Logger logger = Logger.getInstance();

    //Integer I = new Integer(request.getParameter("username"));
    //int userID = I.intValue();
    //int userID = 1;
    //username = request.getParameter("username");
    password = request.getParameter("password");

    logger.log("Username " + username);
    logger.log("Password " + password);

    System.setProperty("java.naming.factory.initial",
        "org.jnp.interfaces.NamingContextFactory");
    System.setProperty("java.naming.provider.url",
        "silalt033:1099");
    LoginSession login = null;
   	try {
       InitialContext jndiContext = new InitialContext();
       Object ref = jndiContext.lookup("com/LoginSessionBean");
       LoginSessionHome home =
(LoginSessionHome)PortableRemoteObject.narrow(ref, LoginSessionHome.class);
       login = home.create();
	  }
	  catch(Exception e) {
       System.out.println(e.toString());
       System.out.println("username = " +username);
    }
    Vector v1 = null;
    try{
        //v1 = login.getUserInfo(userID);
<---------------------------------- This executes correctly
        v1 = login.getUserInfo(request.getParameter("username"));
<---------------------------------- This causes the error
        dummyBody+=("<userid>");
        dummyBody+=(v1.elementAt(0));
        dummyBody+=("</userid>");
        dummyBody+=("<surname>");
        dummyBody+=(v1.elementAt(1));
        dummyBody+=("</surname>");
        dummyBody+=("<firstname>");
        dummyBody+=(v1.elementAt(2));
        dummyBody+=("</firstname>");
        dummyBody+=("<telephone>");
        dummyBody+=(v1.elementAt(3));
        dummyBody+=("</telephone>");
        dummyBody+=("<country>");
        dummyBody+=(v1.elementAt(4));
        dummyBody+=("</country>");

	  }
	  catch(Exception e){
		    System.out.println("Unexpected exception: " +
e.toString());
	  }

    return new StringReader(dummyHeader+dummyBody+dummyFooter);
  }