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);
}