作者 文章标题 about EJB




新手上路



贴子数量 : 13
注册日期 : 2/27/2002
在线情况 : 离线

  发表于: 8/9/2002 - 09:29
一个EJB,其home文件为SessionCtrlHome,在lookup时出现如下错误,请问可能是什么原因.


[02.08.09 17:29:06:047 CST] 5b9684b0 WebGroup X Servlet Error: com.octasoft.eplatform.sc._SessionCtrlHome_Stub: java.lang.ClassCastException: com.octasoft.eplatform.sc._SessionCtrlHome_Stub
at test_jsp_0._jspService(test_jsp_0.java:93)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:139)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:286)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:415)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:544)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:159)
at com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:286)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:106)
at com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:499)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:278)
at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:105)
at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:67)
at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:123)
at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:313)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:242)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)


 
查看此人的个人资料 发送E-Mail给此人 编辑贴子 引用回复 搜索此人的所有贴子 给此人发送短消息




版主



贴子数量 : 416
注册日期 : 4/23/2002
在线情况 : 离线

  发表于: 8/9/2002 - 09:35
桩文件造型出错。请给出代码。

 

____________________

WebSphere的支持者,J2EE的爱好者,电子商务的探索者!
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




新手上路



贴子数量 : 13
注册日期 : 2/27/2002
在线情况 : 离线

  发表于: 8/12/2002 - 01:56
可是该文件是websphere自己产生的,而session bean在weblogic下是肯定没有问题的
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




版主



贴子数量 : 416
注册日期 : 4/23/2002
在线情况 : 离线

  发表于: 8/12/2002 - 02:13
我是说JSP代码...
还有一种可能是改动EJB后没有重新generate deployed code,有以下六种情况:
The home or remote interface (or base interface) is added, removed, or changed.
A home or remote method is added to (or removed from) the home or remote interface.
The method signature is changed for a method that exists in the home or remote interface.
A CMP field is added, deleted, or changed.
A key field designation is changed.
The mapping is changed.
An access bean is added or deleted.
A child enterprise bean is added or deleted that exists in an EJB inheritance relationship.
An association is added, changed, or deleted.

 

____________________

WebSphere的支持者,J2EE的爱好者,电子商务的探索者!
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




新手上路



贴子数量 : 13
注册日期 : 2/27/2002
在线情况 : 离线

  发表于: 8/12/2002 - 02:44
JSP代码很简单:
javax.naming.Context ctx = new javax.naming.InitialContext();
SessionCtrlHome test=(SessionCtrlHome )ctx.lookup("Octa/sc/SessionCtrl");

现在是lookup这一步过不了,在namespace中是可以看到该JNDI的

版主你说的这些原因我也想过,但是应该没有问题,我用最新build的代码在做,最重要的是weblogic下肯定没有问题.一定不可能有其他原因了吗?
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




新手上路



贴子数量 : 13
注册日期 : 2/27/2002
在线情况 : 离线

  发表于: 8/12/2002 - 02:51
或者你能不能给我一点debug的思路,因为在lookup这里出问题,我觉得我实在难以做什么去找出问题
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




版主



贴子数量 : 416
注册日期 : 4/23/2002
在线情况 : 离线

  发表于: 8/12/2002 - 03:50
只好一点一点讨论了
1.用Service Locator了吗?
2.SessionCtrlHome接口放在哪里,是不是副本?

我原来遇到的造型失败都是在六种情况之内的,再检查一下吧。
建议用EJB Test Client测一下,如果没问题,就是客户端出的错。

还有,“weblogic下肯定没有问题“是什么意思?

 

____________________

WebSphere的支持者,J2EE的爱好者,电子商务的探索者!
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




新手上路



贴子数量 : 13
注册日期 : 2/27/2002
在线情况 : 离线

  发表于: 8/12/2002 - 04:32
Home interface在sc.jar里,在Session bean的jar包的manifest里设置classpath
Class-Path: sc.jar
然后sc.jar作为application的一个类文件加入

调用关系很简单:
一个client class调session bean,在jsp里调用该client class,没有其他的花样

在“weblogic下肯定没有问题“指除了xml文件外,其他没变化,在weblogic下是可以run的,这也是我排除那六种可能的一个理由.


"我原来遇到的造型失败都是在六种情况之内的,再检查一下吧",我实在没其他想法,也只好再慢慢查了


 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息