geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From HubertB <hube...@hab-verschlafen.de>
Subject Re: Eclipse + Geronimo + EJB = NullPointerException?
Date Fri, 27 Oct 2006 08:49:28 GMT
OK, now my web.xml looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name>
	ZooWeb</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<ejb-local-ref>
		<ejb-ref-name>ejb/Tiger</ejb-ref-name>
		<ejb-ref-type>Session</ejb-ref-type>
		<local-home>com.zoo.TigerLocalHome</local-home>
		<local>com.zoo.TigerLocal</local>
		<ejb-link>Tiger</ejb-link>
	</ejb-local-ref>
</web-app>

I updated the test.jsp to use the LocalHome:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@page import="javax.naming.*"%>
<%@page import="com.zoo.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Context ctx = new InitialContext();
TigerLocalHome tlh = (TigerLocalHome)
ctx.lookup("java:comp/env/ejb/Tiger");
TigerLocal tl = tlh.create();
tl.foo("Test!");
%>
<b></b>
</body>
</html>

Now I am getting this error:

Unable to compile class for JSP
An error occurred at line: 12 in the jsp file: /test.jsp
Generated servlet error:
The method foo(String) is undefined for the type TigerLocal

So I chanced the XDoclet-Tag in TigerBean.java from "remote" to "both":

	/** 
	 *
	 * <!-- begin-xdoclet-definition --> 
	 * @ejb.interface-method view-type="both"
	 * <!-- end-xdoclet-definition --> 
	 * @generated
	 *
	 * //TODO: Must provide implementation for bean method stub
	 */
	public String foo(String param) {
		return null;
	}

But I am still getting the "method is undefinded" error. Whats wrong
now?

Am Donnerstag, den 26.10.2006, 17:45 +0530 schrieb Lasantha Ranaweera:
> There must be a tag like given in the web.xml if your EJB is locally
> referred one. 
> 
> <!-- To refer local EJB's  -->
> 	<ejb-local-ref>
> 		<ejb-ref-name>ejb/BankManagerFacade</ejb-ref-name>
> 		<ejb-ref-type>Session</ejb-ref-type>
> 		<local-home>org.apache.geronimo.samples.bank.ejb.BankManagerFacadeHomeLocal</local-home>
> 		<local>org.apache.geronimo.samples.bank.ejb.BankManagerFacadeLocal</local>
> 		<ejb-link>BankManagerFacadeBean</ejb-link>
> 	</ejb-local-ref>
> If still have problem please post your TigerUtil.java, ejb-jar.xml and
> openejb-jar.xml files.
> 
> Have a look at :
> http://cwiki.apache.org/GMOxDOC11/ejb-sample-application.html
> 
> Thanks,
> Lasantha Ranaweera
> HubertB wrote: 
> > Hi!
> > 
> > 
> > 
> > The web.xml looks like this:
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <web-app id="WebApp_ID" version="2.4"
> > xmlns="http://java.sun.com/xml/ns/j2ee"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> > http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
> > 	<display-name>
> > 	ZooWeb</display-name>
> > 	<welcome-file-list>
> > 		<welcome-file>index.html</welcome-file>
> > 		<welcome-file>index.htm</welcome-file>
> > 		<welcome-file>index.jsp</welcome-file>
> > 		<welcome-file>default.html</welcome-file>
> > 		<welcome-file>default.htm</welcome-file>
> > 		<welcome-file>default.jsp</welcome-file>
> > 	</welcome-file-list>
> > </web-app>
> > 
> > 
> > 
> > This is the content of geronimo-web.xml:
> > 
> > <?xml version="1.0" encoding="UTF-8"?>
> > <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
> > xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
> > xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
> > xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
> >   <sys:environment>
> >     <sys:moduleId>
> >       <sys:groupId>default</sys:groupId>
> >       <sys:artifactId>ZooWeb</sys:artifactId>
> >       <sys:version>1.0</sys:version>
> >       <sys:type>car</sys:type>
> >     </sys:moduleId>
> >   </sys:environment>
> >   <context-root>/ZooWeb</context-root>
> > </web-app>
> > 
> > Am Donnerstag, den 26.10.2006, 16:46 +0530 schrieb Lasantha Ranaweera:
> >   
> > > Hi Hurbert,
> > > 
> > > Can you post geronimo-web.xml file and web.xml files? I think you can 
> > > find those files from your project.
> > > 
> > > Thanks,
> > > Lasantha Ranaweera
> > > HubertB wrote:
> > >     
> > > > Hi!
> > > > 
> > > > I need a bit help getting this EJB-Tutorial to run on Geronimo 1.1:
> > > > http://www.eclipse.org/webtools/community/tutorials/ejbtutorial/buildingejbs.html
> > > > 
> > > > I am using Eclipse 3.2.1 with WTP 1.5.1, JEM 1.2.1, EMF 2.1, GEF 3.2.1,
> > > > Geronimo-Plugin 1.1 (from this file:
> > > > g-eclipse-plugin-1.1-v200610161117-deployable) and XDoclet 1.2.3.
> > > > 
> > > > 
> > > > This is what I have done:
> > > > 
> > > > 1. Create a J2EE => Enterprise Application Project and name it
> > > > "ZooBeansProject"
> > > > 2. Create a EJB => EJB Project, name it "ZooBeans", check "Add project
> > > > to an EAR" and choose "ZooBeansProject"
> > > > 3. In "ZooBeans" I created a new EJB => XDoclet Enterprise JavaBean,
> > > > Type = Session Bean, Package = com.zoo, name = "TigerBean"
> > > > 4. Rightclick on "Apache Geronimo v1.1 Server @ localhost", choose "Add
> > > > and Remove Projects..." and add "ZooBeansProject"
> > > > 5. Started Geronimo and noticed that ZooBeansProject has been deployed
> > > > to the server
> > > > 6. Created a Web => Dynamic Web Project named "ZooWeb", also checked
> > > > "Add project to an EAR" and chose "ZooBeansProject"
> > > > 7. In "ZooWeb", I created "test.jsp" containing the following code:
> > > > 
> > > > <%@ page language="java" contentType="text/html; charset=UTF-8"
> > > >     pageEncoding="UTF-8"%>
> > > > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> > > > "http://www.w3.org/TR/html4/loose.dtd">
> > > > <html>
> > > > <head>
> > > > <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
> > > > <title>Insert title here</title>
> > > > </head>
> > > > <body>
> > > > <%
> > > > com.zoo.Tiger tiger = null;
> > > > try {
> > > > 	com.zoo.TigerHome home = com.zoo.TigerUtil.getHome();
> > > > 	tiger = home.create();  
> > > > } catch(Exception exception) {
> > > > }
> > > > %>
> > > > <b><%= tiger.foo("Test") %></b>
> > > > </body>
> > > > </html>
> > > > 
> > > > 8. Rightclick on "test.jsp", select "Run As" => "Run on Server" then
I
> > > > get this error:
> > > > 
> > > > 12:13:56,670 ERROR [[jsp]] Servlet.service() for servlet jsp threw
> > > > exception
> > > > java.lang.NullPointerException
> > > > 	at org.apache.jsp.test_jsp._jspService(org.apache.jsp.test_jsp:60)
> > > > 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> > > > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> > > > 	at
> > > > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
> > > > 	at
> > > > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> > > > 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> > > > 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
> > > > 	at
> > > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> > > > 	at
> > > > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> > > > 	at
> > > > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> > > > 	at
> > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> > > > 	at
> > > > org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
> > > > 	at org.apache.geronimo.tomcat.GeronimoStandardContext
> > > > $SystemMethodValve.invoke(GeronimoStandardContext.java:342)
> > > > 	at
> > > > org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
> > > > 	at
> > > > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> > > > 	at
> > > > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> > > > 	at
> > > > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> > > > 	at
> > > > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
> > > > 	at
> > > > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> > > > 	at
> > > > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> > > > 	at org.apache.coyote.http11.Http11BaseProtocol
> > > > $Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
> > > > 	at
> > > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> > > > 	at
> > > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> > > > 	at org.apache.tomcat.util.threads.ThreadPool
> > > > $ControlRunnable.run(ThreadPool.java:684)
> > > > 	at java.lang.Thread.run(Thread.java:595)
> > > > 
> > > > Whats wrong here?
> > > > 
> > > > 
> > > >   
> > > >       
> > 
> > 
> >   
> 


Mime
View raw message