应该是你的部署有问题,你先到websphere控制台看看你的EJB是不是已经成功部署了
我是用websphere的部署工具来做部署的。

解决方案 »

  1.   

    对,我是用websphere的部署控制台部署的,部署时没有任何问题。现在的问题是你开发的ejb是不是在主接口和组件接口的时候是否选择的是远程类的接口,如果是远程类型的接口的话,肯定是用iiop通讯的,那你怎么生成stub类,你用的开发工具如果是jb的话,肯定没有问题,因为jb可以生成这个stub类,但是现在我用的是eclipse,在我的jar包里边,根本就没有这个文件,他怎么可能调用,所以,请各位高手看清楚问题,我现在的问题是怎么在eclipse+myeclipse的环境下生成stub类,,谢谢大家
      

  2.   

    myeclipse 利用 xdoclet可以生成各种 应用服务器平台的 stub 类的。
    包括ibm 的 websphere。 
    myeclipse 得到ibm 的极力支持,而 websphere 本身就是ibm 的,想想也是可以的。放心用吧。
      

  3.   

    呵呵,我对xdoclet修改了好多地方,可是就是生成不了stub类,您能否把xdoclet关键代码给我贴出来让我看看啊,谢谢
      

  4.   

    websphere的EJB部署的时候有一些xmi的文件,这些文件是用websphere的部署工具(名字忘记了,不是控制台而是一个单独的程序,WAS5安装之后里面有的)打包jar的时候产生的。我一开始自己打包,总是不行,结果还是用了websphere自己的部署工具打包才搞定的。
      

  5.   

    兄弟 ,多谢指点,可是我现在用得是websphere6,你能不能告诉我他的打包工具吗,谢谢了!
      

  6.   

    infowain,您好 ,我按照你的知道找到一个ejbdeploy.bat,应该是这个部署工具,可是我在dos下面执行该命令得时候,报下边这个错,请您再给指点一下:
    D:\Program\IBM\WebSphere\AppServer\deploytool\itp>ejbdeploy D:\yqq\project\Hello
    World\classes\HelloWorld.jar d:\yqq D:\yqq\project\HelloWorld\classes\HelloWorld
    a.jar
    Starting workbench.
    Creating the project.
    正在验证
      通过 EJB WebSphere Extension Validator 对 HelloWorld.jar 的验证已完成。已报告
    [*Error] /HelloWorld.jar(类:com.ejb.HelloWorldSession): CHKJ2907E:不能反映类型
     com.ejb.HelloWorldSession 或它的某个超类型。检查类路径。
    [*Error] /HelloWorld.jar(类:com.interfaces.HelloWorld): CHKJ2907E:不能反映类型
     com.interfaces.HelloWorld 或它的某个超类型。检查类路径。
    [*Error] /HelloWorld.jar(类:com.interfaces.HelloWorldHome): CHKJ2907E:不能反映
    类型 com.interfaces.HelloWorldHome 或它的某个超类型。检查类路径。
    [*Error] ejbModule/META-INF/ejb-jar.xml(企业 bean:HelloWorld): CHKJ2802E:不能
    反映 <ejb-class> 类 com.ejb.HelloWorldSession 或它的某个超类型。检查类路径。
    [*Error] ejbModule/META-INF/ejb-jar.xml(企业 bean:HelloWorld): CHKJ2803E:不能
    反映 <home> 接口 com.interfaces.HelloWorldHome 或它的某个超类型。检查类路径。
    [*Error] ejbModule/META-INF/ejb-jar.xml(企业 bean:HelloWorld): CHKJ2804E:不能
    反映 <remote> 接口 com.interfaces.HelloWorld 或它的某个超类型。检查类路径。
    Shutting down workbench.Execution Halted: Validation Errors Reported
    6 Errors, 0 Warnings, 0 Informational Messages
      

  7.   

    我现在已经用ejbdeploy生成了那几个需要的类,并且已经实现了我需要的功能,但是我现在想知道在myeclipse下给websphere开发ejb又没有快速的方法,总不能每次都先生成jar,然后用ejbdeploy生成那几个stub类吧,那位高手有高招阿,声明,在这里只说myeclipse,其他工具不需要,还有就是我记得jboss和weblogic下的ejb不需要这些stub类,是为什么啊,请高手指点。
      

  8.   

    恭喜楼主搞定了,我以前也是摸索了好久才搞定websphere的,其他几个server我也试过,jboss和weblogic倒是差别不大,它们现在不需要你自己产生stub再打包部署了,部署或者执行的时候它们会自己产生stub。就是websphere比较奇怪,大概IBM比较牛吧,一定要你自己产生stub。我后来都是用ant写个build脚本,这样灵活性比较好,可以带参数,决定产生在哪个server上部署的包。
      

  9.   

    你可以看看weblogic部署后产生的项目目录,里面是由stub类的,可见weblogic是部署的时候帮你做了这件事。
    而jboss部署的时候没有产生stub,我想它是在每次载入ejb的时候临时产生stub的。