Everything looks correct to me here. Can you share xdoclet generated
TigerLocal.java
files with us?
Thanks,
Lasantha Ranaweera
HubertB wrote:
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">
<[EMAIL PROTECTED] import="javax.naming.*"%>
<[EMAIL PROTECTED] 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?
|