Deploying EJBs [b]not[/b] in an EAR

Is it possible to deploy EJBs in 9.0.3 without the EJB jars belonging to an EAR? It looks like the deployment tools can handle deploying EARs and WARs only. The reason I ask is that I'm looking into porting a large component based EJB/web service application that currently runs in JBoss. Under JBoss, the EJBs are deployed in jars and the web services in WARs. Shared classes are deployed into the lib directory. I realize this is non-standard, but it facilitates development and administration since individual components (EJBs) can be added or redeployed without redeploying the whole EAR. Our business model is to build solutions (application) out of components and it would be somewhat painful to have to create and maintain very large EAR files for each solution.

Hi Jeff,
I believe the recommended way to do this in OC4J is to build a hierarchy of parent (and child) applications. Make an EAR (i.e. application) that only contains EJBs, and make it the parent application of your web services application. You can find more details in the documentation.
Good Luck,
Avi.

Similar Messages

  • Calling a newly deployed EJB from an EJB gives a NoSuchMethod Exception if the jar of the newly deployed ejb is not in the classpath

    Hi ,
    I have an EJB A which is already deployed when the server starts. A second ejb
    B is deployed at a later time.
    EJB A calls methods in EJB B. I use reflection in EJB A to call methods in EJB
    B.
    I get a NoSuchMethodException when I call the create method in the Home object
    of EJB B. If I add the ejb jar file to the classpath before the server starts
    then it is able to resolve the method.
    The problem is the EJBs which are called from EJB A is not known before the server
    is started. New EJBs can be deployed at runtime and EJB A should be able call
    the methods in newly deployed EJB's.
    I also use the URLClassLoader to load all the classes in the jar file of the newly
    deployed EJB in EJB A and it still gives a NoSuchMethodException because it cannot
    resolve the stub class.
    My error log is shown below.
    This is an urgent issue.
    Thanks
    SampleConnector::testEJBService called
    In Key : P1 Value : Input2
    In Key : P3 Value : Input1
    In Key : P2 Value : SomeConst
    Loaded Class = com.bizwave.samples.rejb.SampleRemote
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_EOImpl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_HomeImpl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_Impl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteHome
    java.lang.NoSuchMethodException
    at java.lang.Class.getMethod0(Native Method)
    at java.lang.Class.getDeclaredMethod(Class.java:1151)
    at com.bizwave.samples.ejb.SampleConnectorEJB.testEJBService(SampleCon
    ctorEJB.java:181)
    at com.bizwave.samples.ejb.SampleConnectorEJB_be5y1v_EOImpl.testEJBSer
    ce(SampleConnectorEJB_be5y1v_EOImpl.java:98)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.bizwave.fc.utils.ClassUtils.invokeEJBMethod(ClassUtils.java:109
    at com.bizwave.infra.fjet.engine.EJBServiceStepMgr.executeService(EJBS
    viceStepMgr.java:91)

    Hi,
    I am attaching a test case. This test case actually demonstrates a security bug.
    Unzip the file and modify the StartWeblogic.cmd in domainA to not refer to the
    SampleRemoteEJB.jar in the classpath. If u run the test client under the client
    dir u will see a NoSuchMethodException.
    The reason is it is not able to load the dynamically generated stub file.
    Initially I had the getMethod and it didn't work. You might have to modify the
    files to suit ur env. The easier way is to run th edomain wizard and create 2
    domains. Run the servers in development mode and place the jars under the applications
    dir
    Thanks
    Rajesh Mirchandani <[email protected]> wrote:
    Do you have any old EJB classes in your classpath? Did you recompile
    your EJBs if you
    upgraded from a old release or a Service pack?
    Bob Lee wrote:
    Hmmmm. That's an interesting problem.
    Why is it giving you a NoSuchMethodException instead of a
    ClassNotFoundException?
    Can you post the code from SampleConctorEJB.java, line 181?
    Try changing your call to getDeclaredMethod() to getMethod().
    getDeclaredMethod() searches only the class you called it on, whereas
    getMethod() traverses to the superclasses and interfaces. You onlyneed
    getDeclaredMethod() when you're accessing a nonpublic method.
    Not sure if this will help, but it's worth a shot.
    Bob
    Vasu wrote:
    Hi ,
    I have an EJB A which is already deployed when the server starts.
    A second ejb
    B is deployed at a later time.
    EJB A calls methods in EJB B. I use reflection in EJB A to call methodsin EJB
    B.
    I get a NoSuchMethodException when I call the create method in theHome object
    of EJB B. If I add the ejb jar file to the classpath before the serverstarts
    then it is able to resolve the method.
    The problem is the EJBs which are called from EJB A is not knownbefore the server
    is started. New EJBs can be deployed at runtime and EJB A shouldbe able call
    the methods in newly deployed EJB's.
    I also use the URLClassLoader to load all the classes in the jarfile of the newly
    deployed EJB in EJB A and it still gives a NoSuchMethodExceptionbecause it cannot
    resolve the stub class.
    My error log is shown below.
    This is an urgent issue.
    Thanks
    SampleConnector::testEJBService called
    In Key : P1 Value : Input2
    In Key : P3 Value : Input1
    In Key : P2 Value : SomeConst
    Loaded Class = com.bizwave.samples.rejb.SampleRemote
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_EOImpl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_HomeImpl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteEJB_svq1df_Impl
    Loaded Class = com.bizwave.samples.rejb.SampleRemoteHome
    java.lang.NoSuchMethodException
    at java.lang.Class.getMethod0(Native Method)
    at java.lang.Class.getDeclaredMethod(Class.java:1151)
    at com.bizwave.samples.ejb.SampleConnectorEJB.testEJBService(SampleCon
    ctorEJB.java:181)
    at com.bizwave.samples.ejb.SampleConnectorEJB_be5y1v_EOImpl.testEJBSer
    ce(SampleConnectorEJB_be5y1v_EOImpl.java:98)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.bizwave.fc.utils.ClassUtils.invokeEJBMethod(ClassUtils.java:109
    at com.bizwave.infra.fjet.engine.EJBServiceStepMgr.executeService(EJBS
    viceStepMgr.java:91)
    Rajesh Mirchandani
    Developer Relations Engineer
    BEA Support
    [user_projects.zip]

  • Deployed EJB's not seen in console

     

    I finally figured out what the problem is.
    It's because my domain is not the default domain.
    If I deploy to the default domain then I can see the EJBs.
    Do you need create a new console to look at EJBs in a non-default
    domain? It certainly seems like you should be able
    to view other domains from the default because you can go
    between domains in it.
    Shelly
    "Shelly" <[email protected]> wrote:
    >
    >
    Kumar,
    I wish it were that simple!
    I deployed the beans and then brought up the default server
    and
    console afterwards. The beans do not show up no matter
    what.
    I have reinstalled etc, nothing seems to work. I've even
    changed
    what ports the default server is listening on.
    I've created a new domain and deployed to it - still no
    EJB's
    in the console.
    I did try to look at the JNDI tree for the server and
    I get an
    error even when it is running:
    myserver-1 is not running at the moment:
    newdomain:Name=myserver-1,Location=myserver-1,Type=ServerRuntime
    Maybe that has something to do with it.
    It is the same in 6.0 and SP1.
    Regards,
    Shelly
    Kumar Allamraju <[email protected]> wrote:
    Is the bean deployed before the server startup or after
    the startup?
    If the former is true, you should see the deployed beans
    in the console
    If the latter is true and you accessed console before
    deploying the bean, you
    refresh the page to get the
    latest changes.
    BTW, are you on SP1 or the GA release?
    Kumar
    Gary Keim wrote:
    Since we know the beans are getting successfully deployed,this turns into a
    Console issue so I'm forwarding the thread to
    weblogic.developer.interest.management.console. Maybeour friends over
    there have the answer.
    Gary
    Shelly <[email protected]> wrote in message
    news:[email protected]...
    When I change the logging level to info, I can see
    that they are
    successfully deployed. However, they don't show
    up
    in the console.
    Do they have to be in an EAR module? Maybe that
    is
    it, because
    the build scripts are just putting the jar files
    in
    the applications
    directory.
    "Gary Keim" <[email protected]> wrote:
    I believe you should see deployed applications in
    the
    console, regardless of
    how they are deployed. I know that when I stuffan EAR
    module in the
    domain's applications directory, it gets deployedand
    I can see it in The
    Console.
    Do you see anything in the log file about that deployment?
    Gary
    Teo Kian Hui <[email protected]> wrote in message
    news:[email protected]...
    Did you deploy those beans using the console?
    If
    so,
    you should be able
    to see them.
    Shelly Foland wrote:
    I have deployed some EJB20 beans to WebLogic6.0.
    I've tested with a client that they work and
    are successfully
    deployed.
    When the server comes up it doesn't mention
    them
    like
    5.1 used
    to. I also can't see them using the console.
    Is
    there a way
    to see that the EJB's were successfully deployed
    other
    than
    testing with a client.
    Thanks,
    Shelly

  • Ejb-link not working when i access ejb in different ear

    Hi All
    I am here trying to access ejb's which is in different ear, I am providing ejb-link inside web.xml of war file deployed inside deffirent ear file.
    I am using wls8.1sp5. I tried different combination with elb-link name , but its not working . <ejb-ref>
    <ejb-ref-name>ejb/AuditService</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.onstar.audit.ejb.AuditServiceHome</home>
    <remote>com.onstar.audit.ejb.AuditService</remote>
    <ejb-link>ccarenewal.jar#AuditService</ejb-link>
    </ejb-ref>
    <ejb-ref>
         <ejb-ref-name>ejb/AccountService</ejb-ref-name>
         <ejb-ref-type>Session</ejb-ref-type>
         <home>com.onstar.account.ejb.AccountServiceHome</home>
         <remote>com.onstar.account.ejb.AccountService</remote>
         <ejb-link>ccarenewal.jar#AccountService</ejb-link>
         </ejb-ref>
    Exception:weblogic.management.ApplicationException: activate failed for sbwo Module: sbwo Error: weblogic.management.DeploymentException: Could not setup environment - with nested exception: [weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'ccarenewal.jar#AuditService' declared in the ejb-ref or ejb-local-ref 'ejb/AuditService' in the application module 'accountadj.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.] weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'ccarenewal.jar#AuditService' declared in the ejb-ref or ejb-local-ref 'ejb/AuditService' in the application module 'accountadj.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct. at weblogic.deployment.EnvironmentBuilder.addEJBLinkRef(EnvironmentBuilder.java:658) at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:467) at weblogic.servlet.internal.CompEnv.init(CompEnv.java:123) at weblogic.servlet.internal.WebAppServletContext.activate
    I will appreciate any help.
    Rajiv

    Rob,
    Thanks for your reply.
    Below is all deployment descriptor entries i have(ejb-jar.xml, weblogic-ejb-jar.xml, web.xml, weblogic.xml)
    please correct me if i have wrong entries any where.
    ejb-jar.xml
    ejb-ref>
    <description />
    <ejb-ref-name>ejb/AccountService</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.onstar.account.ejb.AccountServiceHome</home>
    <remote>com.onstar.account.ejb.AccountService</remote>
    <ejb-link>AccountService</ejb-link>
    </ejb-ref>
    weblogic-ejb-jar.xml
    <ejb-reference-description>
    <ejb-ref-name>ejb/AccountService</ejb-ref-name>
    <jndi-name>cca/AccountService</jndi-name>
    </ejb-reference-description>
    web.xml
    <ejb-ref>
    <ejb-ref-name>ejb/AccountService</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.onstar.account.ejb.AccountServiceHome</home>
    <remote>com.onstar.account.ejb.AccountService</remote>
    <ejb-link>ccarenewal.jar#AccountService</ejb-link>
    </ejb-ref>
    weblogic.xml
    <ejb-reference-description>
    <ejb-ref-name>ejb/AccountService</ejb-ref-name>
    <jndi-name>cca/AccountService</jndi-name>
    </ejb-reference-description>
    I appreciate your help.
    Thanks
    Rajiv

  • Deploying EJB JAR and Application EAR, META-INF directory name

    To all:
    I had a problem the last couple of days with deploying an EJB and application.
    I'm new to WebLogic, maybe this is common knowledge, but I researched it and
    didn't find any reference to what I discovered.
    I'm using WebLogic Server 7 Service Pack 2 (7.02), on Windows 2000.
    My problem was that the application that I was trying to deploy would not deploy
    successfully, because a dependent class was not found for the EJB. I tried everything,
    but the only thing I could get to work was placing the dependent jar files in
    the classpath of the WebLogic server, within the start script. I correctly had
    the Class-Path manifest line correct, but the dependent classes were not being
    found.
    Through trial and error I discovered that the META-INF directory within the JAR
    and EAR archives HAS TO BE ALL UPPERCASE for the app server to successfully find
    the manifest.mf file and the application.xml file.
    As soon as I changed the directory name in both the EJB JAR file and the application
    EAR file, the EJB deployed successfully, all dependent classes were then found.
    I'm posting this here to help anybody that might have the same problem. There
    is not any documentation that I could find that had this directory name requirement
    explicitly stated.
    Regards,
    JD

    What does the manual for the OC4J application server have to say about it all?

  • Error deploying ejb on wl8.1sp2: trace not help

    Greetings,
    I'm deploying my EAR with my EJB on weblogic 8.1sp2, and I'm getting
    this error that isn't very helpful.
    There is any hint about the cause for this error, and the application
    runs fine in JBOSS 3.2. I'm just building the descriptors (with xdoclet)
    for weblogic.
    What is the problem?
    thanks,
    Pedro Salazar
    trace error:
    weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for
    AccessEJB.jar
    Module: AccessEJB.jar Error: Exception preparing module:
    EJBModule(AccessEJB.jar,status=NEW)
    Unable to deploy EJB: AccessEJB.jar from AccessEJB.jar:
    Compiler failed executable.exec
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    java.io.IOException: Compiler failed executable.exec
    at
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:470)
    at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:329)
    at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:337)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2556)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: - with nested exception:
    [weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for
    AccessEJB.jar
    Module: AccessEJB.jar Error: Exception preparing module:
    EJBModule(AccessEJB.jar,status=NEW)
    Unable to deploy EJB: AccessEJB.jar from AccessEJB.jar:
    Compiler failed executable.exec
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    java.io.IOException: Compiler failed executable.exec
    at
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:470)
    at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:329)
    at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:337)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2491)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    No Exception Messages

    Typically this means that javac is not in your server's path.
    There's two possible solutions:
    1) add javac to your server's path
    or
    2) run java weblogic.appc <ear/jar file> before deploying
    I typically recommend #2 since it catches many errors before deployment.
    -- Rob
    Pedro Salazar wrote:
    Greetings,
    I'm deploying my EAR with my EJB on weblogic 8.1sp2, and I'm getting
    this error that isn't very helpful.
    There is any hint about the cause for this error, and the application
    runs fine in JBOSS 3.2. I'm just building the descriptors (with xdoclet)
    for weblogic.
    What is the problem?
    thanks,
    Pedro Salazar
    trace error:
    weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for
    AccessEJB.jar
    Module: AccessEJB.jar Error: Exception preparing module:
    EJBModule(AccessEJB.jar,status=NEW)
    Unable to deploy EJB: AccessEJB.jar from AccessEJB.jar:
    Compiler failed executable.exec
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    java.io.IOException: Compiler failed executable.exec
    at
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:470)
    at
    weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:329)
    at
    weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:337)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2556)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    --------------- nested within: ------------------
    weblogic.management.ManagementException: - with nested exception:
    [weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for
    AccessEJB.jar
    Module: AccessEJB.jar Error: Exception preparing module:
    EJBModule(AccessEJB.jar,status=NEW)
    Unable to deploy EJB: AccessEJB.jar from AccessEJB.jar:
    Compiler failed executable.exec
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:274)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    java.io.IOException: Compiler failed executable.exec
    at
    weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.java:470)
    at
    weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:329)
    at
    weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:337)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:270)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at
    weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at
    weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    at
    weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2491)
    at
    weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at
    weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at
    weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    No Exception Messages

  • Deployed EJB Not Bound

    I deplyed a simple EJB on S17AS. The server.log tells me it is deployed successful.
    CORE3282: stdout: ejbCreate() on obj samples.jdbc.simple.ejb.GreeterDBBean@1017ca1
    CORE3282: stdout: ejbCreate() on obj samples.jdbc.simple.ejb.GreeterDBBean@9d5793
    LDR5010: All ejb(s) of [simpleEjb] loaded successfully!
    The relevant simpleEjb.jar_verified.txt is as follows
         Test Name : tests.ejb.ias.ASEjbJndiName
         Test Assertion :
         Test Description : PASSED [AS-EJB ejb] : jndi-name is simpleHome
    However, the server log did not indicate the EJB is bound even if I set the log level to finest.
    Therefore when I tried to access it, I get the following error
    Exception in thread "main" javax.naming.NameNotFoundException: No object bound f
    or java:comp/env/ejb/simpleHome
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.j
    ava:116)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at HelloClient.main(HelloClient.java:61)
    The client code is as follows
    String JNDIName = "java:comp/env/ejb/simpleHome";
    myGreeterDBHome = (GreeterDBHome) javax.rmi.PortableRemoteObject.narrow(
                   initContext.lookup(JNDIName), GreeterDBHome.class);
    The sun-ejb-jar.xml is as follows
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    Copyright 2002 Sun Microsystems, Inc. All rights reserved.
    -->
    <!DOCTYPE sun-ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN' 'http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd'>
    <sun-ejb-jar>
    <enterprise-beans>
    <name>simpleEjb.jar</name>
    <ejb>
    <ejb-name>simpleEJB</ejb-name>
    <jndi-name>simpleHome</jndi-name>
    <is-read-only-bean>false</is-read-only-bean>
                   <bean-pool>
                        <steady-pool-size>2</steady-pool-size>
                        <resize-quantity>5</resize-quantity>
                        <max-pool-size>20</max-pool-size>
                        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
                   </bean-pool>
    </ejb>
    </enterprise-beans>
    </sun-ejb-jar>
    I tried to use lookup for both "java:comp/env/ejb/simpleHome" and "java:comp/env/simpleHome". None succeed.
    Does anyone know why the ejb is deployed successful but not bound?
    Sha

    Hi, Parsuram,
    I did restart the server and the error is the same.
    Here is the sample code. I did not change them. Only the names in deployment descriptors are modified.
    Below is the info.
    *************************Remote Interface
    Copyright � 2002 Sun Microsystems, Inc. All rights reserved.
    package samples.jdbc.simple.ejb;
    * Remote interface for the GreeterDBEJB. The remote interface defines all possible
    * business methods for the bean. These are the methods going to be invoked remotely
    * by the servlets, once they have a reference to the remote interface.
    * Servlets generally take the help of JNDI to lookup the bean's home interface and
    * then use the home interface to obtain references to the bean's remote interface.
    public interface GreeterDB extends javax.ejb.EJBObject {
    * Returns the greeting String such as "Good morning, John"
         * @return the greeting String
    public String getGreeting() throws java.rmi.RemoteException;
    *************************Home Interface
    Copyright � 2002 Sun Microsystems, Inc. All rights reserved.
    package samples.jdbc.simple.ejb;
    * Home interface for the GreeterDB EJB. Clients generally use home interface
    * to obtain references to the bean's remote interface.
    public interface GreeterDBHome extends javax.ejb.EJBHome {
    * Gets a reference to the remote interface to the GreeterDBBean.
         * @exception throws CreateException and RemoteException.
    public GreeterDB create() throws java.rmi.RemoteException, javax.ejb.CreateException;
    *************************Bean Class
    Copyright � 2002 Sun Microsystems, Inc. All rights reserved.
    package samples.jdbc.simple.ejb;
    import java.util.*;
    import java.io.*;
    * A simple stateless session bean which generates the greeting string for jdbc-simple
    * application. This bean implements the business method as declared by the remote interface.
    public class GreeterDBBean implements javax.ejb.SessionBean {
    private javax.ejb.SessionContext m_ctx = null;
    * Sets the session context. Required by EJB spec.
         * @param ctx A SessionContext object.
    public void setSessionContext(javax.ejb.SessionContext ctx) {
    m_ctx = ctx;
    * Creates a bean. Required by EJB spec.
    public void ejbCreate() {
    System.out.println("ejbCreate() on obj " + this);
    * Removes a bean. Required by EJB spec.
    public void ejbRemove() {
    System.out.println("ejbRemove() on obj " + this);
    * Loads the state of the bean from secondary storage. Required by EJB spec.
    public void ejbActivate() {
    System.out.println("ejbActivate() on obj " + this);
    * Keeps the state of the bean to secondary storage. Required by EJB spec.
    public void ejbPassivate() {
    System.out.println("ejbPassivate() on obj " + this);
    * Required by EJB spec.
    public void GreeterDBBean() {
    * Returns the Greeting String based on the time
    * @return the Greeting String.
    public String getGreeting() throws java.rmi.RemoteException {
    System.out.println("GreeterDB EJB is determining message...");
    String message = null;
    Calendar calendar = new GregorianCalendar();
    int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
    if(currentHour < 12) message = "morning";
    else {
    if( (currentHour >= 12) &&
    (calendar.get(Calendar.HOUR_OF_DAY) < 18)) message = "afternoon";
    else message = "evening";
    System.out.println("- Message determined successfully");
    return message;
    ************************ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    Copyright 2002 Sun Microsystems, Inc. All rights reserved.
    -->
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <display-name>simple</display-name>
    <ejb-name>simpleEJB</ejb-name>
    <home>samples.jdbc.simple.ejb.GreeterDBHome</home>
    <remote>samples.jdbc.simple.ejb.GreeterDB</remote>
    <ejb-class>samples.jdbc.simple.ejb.GreeterDBBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    ************************sun-ejb-jar.xml
    <sun-ejb-jar>
    <enterprise-beans>
    <name>simpleEjb.jar</name>
    <ejb>
    <ejb-name>simpleEJB</ejb-name>
    <jndi-name>ejb/simpleHome</jndi-name>
    <is-read-only-bean>false</is-read-only-bean>
                   <bean-pool>
                        <steady-pool-size>2</steady-pool-size>
                        <resize-quantity>5</resize-quantity>
                        <max-pool-size>20</max-pool-size>
                        <pool-idle-timeout-in-seconds>3600</pool-idle-timeout-in-seconds>
                   </bean-pool>
    </ejb>
    </enterprise-beans>
    </sun-ejb-jar>
    ************************Assemble Info
    C:\Sun\AppServer7\samples\jdbc\simple\assemble\jar>jar cvf simpleEjb.jar *
    added manifest
    ignoring entry META-INF/
    adding: META-INF/ejb-jar.xml(in = 710) (out= 350)(deflated 50%)
    adding: META-INF/sun-ejb-jar.xml(in = 803) (out= 424)(deflated 47%)
    adding: samples/(in = 0) (out= 0)(stored 0%)
    adding: samples/jdbc/(in = 0) (out= 0)(stored 0%)
    adding: samples/jdbc/simple/(in = 0) (out= 0)(stored 0%)
    adding: samples/jdbc/simple/ejb/(in = 0) (out= 0)(stored 0%)
    adding: samples/jdbc/simple/ejb/GreeterDB.class(in = 210) (out= 168)(deflated 20%)
    adding: samples/jdbc/simple/ejb/GreeterDBBean.class(in = 1441) (out= 734)(deflated 49%)
    adding: samples/jdbc/simple/ejb/GreeterDBHome.class(in = 257) (out= 177)(deflated 31%)
    C:\Sun\AppServer7\samples\jdbc\simple\assemble\jar>jar tf simpleEJB.jar
    META-INF/
    META-INF/MANIFEST.MF
    META-INF/ejb-jar.xml
    META-INF/sun-ejb-jar.xml
    samples/
    samples/jdbc/
    samples/jdbc/simple/
    samples/jdbc/simple/ejb/
    samples/jdbc/simple/ejb/GreeterDB.class
    samples/jdbc/simple/ejb/GreeterDBBean.class
    samples/jdbc/simple/ejb/GreeterDBHome.class
    ******************************** Deployment Info
    server1: Applications: EJB Modules: simpleEjb
    EJB Module Name: simpleEjb
    Location: C:\Sun\AppServer7\domains\domain1\server1\applications\j2ee-modules\simpleEjb_1
    ******************************** simplEJB.jar_verified.txt
    STATIC VERIFICATION RESULTS
         NUMBER OF FAILURES/WARNINGS/ERRORS
         # of Failures : 0
    # of Warnings : 1
         # of Errors : 0
         Test Name : tests.ejb.ias.ASEjbJndiName
         Test Assertion :
         Test Description : PASSED [AS-EJB ejb] : jndi-name is ejb/simpleHome
         WARNINGS :
         Test Name : tests.ejb.businessmethod.BusinessMethodException
         Test Assertion : Enterprise bean business method throws RemoteException test
         Test Description : For [ module_simpleEjb#simpleEjb#simpleEJB ]
    For EJB Class [ samples.jdbc.simple.ejb.GreeterDBBean ] business method [ getGreeting ]
    Error: Compatibility Note: A public business method [ getGreeting ] was found, but EJB 1.0 allowed the business methods to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 ---an EJB 1.1 compliant enterprise bean should throw the javax.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
    *********************** server log (no binding info)
    [05/Jan/2003:17:07:19] FINE ( 1760): [EJBClassPathUtils] EJB Class Path for [simpleEjb] is ...
    [C:\Sun\AppServer7\domains\domain1\server1\applications\j2ee-modules\simpleEjb_1, C:\Sun\AppServer7\domains\domain1\server1\generated\ejb\j2ee-modules\simpleEjb]
    [05/Jan/2003:17:07:20] FINE ( 1760): Loading StatelessSessionContainer...
    [05/Jan/2003:17:07:20] FINE ( 1760): [BaseContainer] Registered EJB [simpleEJB] with MBeanServer under name [ias:instance-name=server1,mclass=stateless-session-bean,name=simpleEJB,root=root,standalone-ejb-module=simpleEjb,type=monitor]
    [05/Jan/2003:17:07:20] FINE ( 1760): main: name = "samples.jdbc.simple.ejb._GreeterDBBean_RemoteHomeImpl_Tie", codebase = ""
    [05/Jan/2003:17:07:20] FINE ( 1760): main: name = "samples.jdbc.simple.ejb._GreeterDBHome_Stub", codebase = ""
    [05/Jan/2003:17:07:20] FINE ( 1760): main: name = "samples.jdbc.simple.ejb._GreeterDBHome_Stub", codebase = ""
    [05/Jan/2003:17:07:20] FINE ( 1760): main: name = "samples.jdbc.simple.ejb._GreeterDBBean_EJBObjectImpl_Tie", codebase = ""
    [05/Jan/2003:17:07:20] FINE ( 1760): main: name = "samples.jdbc.simple.ejb._GreeterDB_Stub", codebase = ""
    [05/Jan/2003:17:07:20] FINE ( 1760): [Pool-ejb/simpleHome]: Added PoolResizeTimerTask...
    [05/Jan/2003:17:07:20] FINE ( 1760): Created container with uinque id: 68275827784351744
    [05/Jan/2003:17:07:20] FINE ( 1760): Application deployment successful : com.sun.ejb.containers.StatelessSessionContainer@1083717
    [05/Jan/2003:17:07:20] INFO ( 1760): LDR5010: All ejb(s) of [simpleEjb] loaded successfully!
    [05/Jan/2003:17:07:22] FINE ( 1760): Started 48 request processing threads
    [05/Jan/2003:17:07:22] INFO ( 1760): CORE3274: successful server startup
    [05/Jan/2003:17:07:22] FINE ( 1760): The server is now ready to process requests
    [05/Jan/2003:17:07:22] INFO ( 1760): CORE3282: stdout: ejbCreate() on obj samples.jdbc.simple.ejb.GreeterDBBean@10613aa
    [05/Jan/2003:17:07:22] INFO ( 1760): CORE3282: stdout: ejbCreate() on obj samples.jdbc.simple.ejb.GreeterDBBean@1f52460
    [05/Jan/2003:17:07:22] INFO ( 1760): CORE5053: Application onReady complete.
    *********************** Client class
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import java.util.Properties;
    import java.util.Hashtable;
    import javax.ejb.*;
    import java.sql.*;
    import javax.sql.*;
    import samples.jdbc.simple.ejb.*;
    public class HelloClient {
         public static void main(String[] args) throws Exception {
    javax.ejb.Handle beanHandle;
    GreeterDBHome myGreeterDBHome;
    GreeterDB myGreeterDBRemote;
    InitialContext initContext = null;
    Hashtable env = new java.util.Hashtable(1);
    initContext = getContextInfo();
    String JNDIName = "java:comp/env/ejb/simpleHome";
    System.out.println("- Looking up: " + JNDIName);
    myGreeterDBHome = (GreeterDBHome) javax.rmi.PortableRemoteObject.narrow(initContext.lookup(JNDIName), GreeterDBHome.class);
    myGreeterDBRemote = myGreeterDBHome.create();
              String theMessage = myGreeterDBRemote.getGreeting();
    myGreeterDBRemote.remove();
         public static InitialContext getContextInfo() {
         InitialContext ctx = null;
         String url = "iiop://1st:3700";
         String fac = "com.sun.enterprise.naming.SerialInitContextFactory";
    try {
         Properties props = new Properties();
         props.put(Context.INITIAL_CONTEXT_FACTORY, fac);
         props.put(Context.PROVIDER_URL, url);
              ctx = new InitialContext(props);
         catch (NamingException ne){
    System.out.println("We were unable to get a connection to " +
    " the application server at " + url);
    ne.printStackTrace();
    return ctx;
    *********************** Running Client from command line
    C:\Sun\AppServer7\samples\jdbc\simple\assemble\jar>java HelloClient
    - Looking up: java:comp/env/ejb/simpleHome
    Exception in thread "main" javax.naming.NameNotFoundException: No object bound for java:comp/env/ejb/simpleHome
    at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:116)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at HelloClient.main(HelloClient.java:34)

  • Deploying servlets (not in jar/war/ear!) to OC4J?

    I must be missing some very tiny but crucial issue....
    For over 2 days now (shame) I have been trying but not
    succeeding to deploy servlets to OC4J behind Apache. The 'behind
    Apache'-part is easy. Just set up a proxy. This is because
    Apache configuration is easy and well documented. But here is my
    real problem. I am using JDev 3.2 (9i too large) and this is
    what I want:
    I want to code a servlet in Jdeveloper, compile it to a class-
    file, not a jar, war, ear or whatever-r. Then I want to set up
    OC4J in such a way that I can access my servlets from the
    directory where the class files are. I do NOT want to use the
    default-web-app subdirectory for obvious reasons. Please, how do
    I set up OC4J to just look in my own classes-directory with my
    own servlets???? No jar, no war, no ear.
    I have been reading all sorts of information on this and tried
    everything, but am not succeeding and getting all sorts of
    error/not found messages.
    Extra info:
    I am using OC4J on windows. To start I use java -jar orion.jar,
    to restart I use ^C and repeat the start command. Is that ok or
    do I need to restart in a different way? I tried to setup OC4J
    as a service but the link to runexecsvc went astray to judosoft
    Any help will be greatly appreciated!

    Avi,
    Thanks for your swift reply. I have indeed read the docs, but
    the exploded directory format does not seem to work for one
    reason or another (got some error messages on file not found or
    something). Have you succeeded in deployment using exploded
    directories? If so, I would be greatly interested in your xml-
    files and directory structure!
    But, please do not spend too much time on this, because I have
    now decided that I will deploy using a war. I have written a
    small script to make a war out of my whole project and copy it
    to de OC4J file system. This works and everybody is happy.
    Thanks again,
    Martijn

  • Log4j error while deploying EJB 3.0 in weblogic 10

    Hi Friends,
    I am migrating an application EJB from 2.0 to 3.0 annotations.
    The log4j-1.2.3 for the project is configured in this way, it is added to the startWeblogic.cmd in weblogic 10 as :
    set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlog4j.configuration=log4j.properties
    Now i am trying to deploy my EAR file that contains an EJB 3.0 Project and a Web project , it gives following error while deployment.
    ###<Jan 29, 2010 8:21:01 PM EST> <Warning> <Deployer> <ALPITSWXP00001> <wlw-pricingdev-s10> <[STANDBY] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1264814461242> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Exception preparing module: EJBModule(streamlinesuspenseEJB.jar)
    [EJB:011023]An error occurred while reading the deployment descriptor. The error was:
    org.apache.log4j.spi.RootCategory.<init>(Lorg/apache/log4j/Level;)V.
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
    at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
    at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    java.lang.NoSuchMethodError: org.apache.log4j.spi.RootCategory.<init>(Lorg/apache/log4j/Level;)V
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
    at org.apache.log4j.Logger.getLogger(Logger.java:124)
    at com.jmfamily.common.log.LogManager.getLogger(LogManager.java:33)
    at com.jmfamily.common.log.LogManager.getLogger(LogManager.java:42)
    at com.jmfamily.jma.contract.ejb.SuspendedContractSOBean.<clinit>(SuspendedContractSOBean.java:33)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processWLSAnnotations(EjbAnnotationProcessor.java:1699)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processWLSAnnotations(EjbDescriptorReaderImpl.java:346)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:192)
    at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93)
    at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1198)
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:380)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
    at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
    at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    If i remove the "set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlog4j.configuration=log4j.properties" from the weblogic statrup script and install the EAR it will be installed , but the logger is not initialized.
    If the option "set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlog4j.configuration=log4j.properties" added to the startup script and i deployed the OLD EJB 2.0 app , it is installed successfully, but it didnt let me deploy EJB 3.0 app.
    I am hitting my head around it for a day now, no success so far..
    Please provide you suggestions , thanks a lot to all in advance.
    Thanks
    Sachin

    Does the ejbCreate() method of the com.package.ejbimpl.RemoteServicesEjb class have an exception on it's throws clause that is not present on the ejbCreate() method of your home interface? If so, does the error go away if you add the exception to the home's ejbCreate() method? In general, you want checked exceptions in a throws clause to match between the interface declaration of the method and the implementation of the method on the bean class.
    - Matt

  • Deploying EJBs in a web app

    Hi,
    I'm trying to deploy some EJBs in a WebLogic WebApp. I have it all packaged
    properly, and when I start the server, I can see that my EJBs are bound to
    the JNDI names. For example:
    Mon Jan 08 22:48:58 PST 2001:<I> <WebAppServletContext-myapp> binding
    web.xml EJB reference '<ejb_name>' to JNDI name '<ejb_name>'
    <ejb_name> is of course the name of the bean that is being deployed.
    The perplexing thing is that once it's running, I cannot bind to the bean
    name that I was successfully able to bind to when the beans were deployed
    using the 'weblogic.ejb.deploy' property in the weblogic.properties file.
    I'm assuming that I'm missing a name prefix or something, but I cannot find
    any mention of anything like that in the docs.
    Here is a partial stack trace from the exception that I get when trying to
    access the beans:
    javax.naming.NameNotFoundException: '<ejb_name>'; remaining name
    '<ejb_name>'
         at
    weblogic.jndi.toolkit.BasicWLContext.resolveName(BasicWLContext.java:745)
         at weblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:133)
         at weblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:574)
         at javax.naming.InitialContext.lookup(InitialContext.java:350)
         at jsp_servlet._index._jspService(_index.java:98)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    Any help of hints greatly appreciated.
    Dhiren

    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    Dhiren Patel wrote:
    OK, here is some more detail about what I'm trying to do:
    I would like to deploy my entire app under a single directory tree, and
    ultimately as a single jar/war/ear/whatever.You can do this with an ear file, but only WLS 6 supports EAR files.
    WLS 5.1 does not.
    Ah. I guess I'll have to wait until WLS6. Thank for the info.
    Dhiren
    During development, I would
    also like to minimize updates to my weblogic.properties file as other
    developers add stuff (new EJBs, etc.) to the code
    base.In WLS 5.1 you can deploy and ejb either through the weblogic.properties
    or by using the weblogic.deploy command-line or EJBDeployerTool GUI
    tools.
    In WLS 6, we allow you to copy a ear/jar/war into the applications
    directory, and the server will automatically recognize the new file and
    deploy it.
    On the surface, web
    apps seem like the way to go.The EJB stuff that you are seeing if for ejb-lins or references. These
    are references to EJBs but not the actual EJB code. EJBs cannot be
    deployed in WAR files.
    -- Rob
    Everything is under one directory and the lib
    directory is automagically added to the classpath. The "Writing Web
    Applications"
    document
    (http://www.weblogic.com/docs51/classdocs/webappguide.html#dd_contextparams)
    describes a directory structure that seemingly allows you to do all ofthis.
    There are also a couple of files (web.xml and
    weblogic.xml) in which you can specify EJB information, such as the JNDI
    name, etc. Presumably, this EJB information is for EJBs deployed withthe
    web app. I created the described directory structure and the two xmlfiles
    and deployed the whole thing as a web app via a'weblogic.httpd.webApp.xxx'
    property in the weblogic.properties file. The server starts up fine, and I
    get the following messages to the startup log for each EJB I'm trying to
    deploy:
    Tue Jan 09 00:10:23 PST 2001:<I> <WebAppServletContext-myapp> binding
    web.xml EJB reference '<ejb_name>' to JNDI name '<ejb_name>'
    This is what led me to assume that the server is deploying the beans.But,
    of course, when I try to access the beans, I get the exception shownbelow.
    >>
    Dhiren
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    Dhiren Patel wrote:
    Hi,
    I'm trying to deploy some EJBs in a WebLogic WebApp.I don't understand. A WebApp contains servlets, jsp pages etc. A WAR
    file would not contain an EJB. EJBs are deployed with an ejb-jar file
    and must be deployed in the EJB container. An EAR file contains
    multiple WAR and/or JAR files.
    Can you clarify what you are trying to do?
    -- Rob
    I have it all packaged
    properly, and when I start the server, I can see that my EJBs are
    bound
    to
    the JNDI names. For example:
    Mon Jan 08 22:48:58 PST 2001:<I> <WebAppServletContext-myapp>
    binding
    web.xml EJB reference '<ejb_name>' to JNDI name '<ejb_name>'
    <ejb_name> is of course the name of the bean that is being deployed.
    The perplexing thing is that once it's running, I cannot bind to thebean
    name that I was successfully able to bind to when the beans weredeployed
    using the 'weblogic.ejb.deploy' property in the weblogic.propertiesfile.
    I'm assuming that I'm missing a name prefix or something, but I
    cannot
    find
    any mention of anything like that in the docs.
    Here is a partial stack trace from the exception that I get when
    trying
    to
    access the beans:
    javax.naming.NameNotFoundException: '<ejb_name>'; remaining name
    '<ejb_name>'
    at
    weblogic.jndi.toolkit.BasicWLContext.resolveName(BasicWLContext.java:745)
    atweblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:133)
    atweblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:574)
    at
    javax.naming.InitialContext.lookup(InitialContext.java:350)
    at jsp_servlet._index._jspService(_index.java:98)
    at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
    Any help of hints greatly appreciated.
    Dhiren

  • Error when deploying ejb 3 in weblogic10

    Hi,
    I'm using the EJB3.0 in weblogic10, just as the following:
    remote interface:
    com.test.intf
    public interface Test{
    public void test();
    and the impl:
    com.test.impl
    @stateless
    @Remote(Test.class)
    public class TestBean implements Test{
    public void test{...}
    Then I build an ear which including the ejb jar:
    Test.ear
    |__ejb.jar (including the Test and the TestBean)
    |
    |__Meta-Inf
    And when I deploy the Test.jar to the weblogic 10, the following error occurs:
    weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Unable to load clas
    s com.test.impl.TestBean_3u7muo_EmergencyServiceF
    uncImpl ]
    at weblogic.ejb.container.deployer.Ejb3SessionBeanInfoImpl.prepare(Ejb3S
    essionBeanInfoImpl.java:319)
    at weblogic.ejb.container.deployer.EJBDeployer.setupBeanInfos(EJBDeploye
    r.java:914)
    at weblogic.ejb.container.deployer.EJBDeployer.prepare(EJBDeployer.java:
    1188)
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:425)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
    leListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
    oymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
    river.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
    loymentCallbackFlow.java:58)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(Dep
    loymentCallbackFlow.java:42)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.ja
    va:615)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
    river.java:37)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.j
    ava:191)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.jav
    a:16)
    at weblogic.application.internal.DeploymentStateChecker.prepare(Deployme
    ntStateChecker.java:155)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(App
    ContainerInvoker.java:60)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.cr
    eateAndPrepareContainer(ActivateOperation.java:197)
    at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
    Prepare(ActivateOperation.java:89)
    at weblogic.deploy.internal.targetserver.operations.AbstractOperation.pr
    epare(AbstractOperation.java:217)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
    entPrepare(DeploymentManager.java:723)
    at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploy
    mentList(DeploymentManager.java:1190)
    at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare
    (DeploymentManager.java:248)
    at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.pre
    pare(DeploymentServiceDispatcher.java:159)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
    at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
    ackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
    gWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: java.lang.ClassNotFoundException: com.oracle.ocrt.service.impl.Emerge
    ncyServiceFuncBean_3u7muo_TestIntf
    at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic
    ClassLoader.java:283)
    at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClass
    Loader.java:256)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClass
    Loader.java:176)
    at weblogic.ejb.container.deployer.BeanInfoImpl.loadClass(BeanInfoImpl.j
    ava:540)
    at weblogic.ejb.container.deployer.Ejb3SessionBeanInfoImpl.prepare(Ejb3S
    essionBeanInfoImpl.java:310)
    ... 27 more
    <2008-9-26 下午08时35分07秒 CST> <Error> <Deployer> <BEA-149265> <Failure occurr
    ed in the execution of deployment request with ID '1222432506169' for task '0'.
    Error is: 'weblogic.application.ModuleException: Exception preparing module: EJB
    Module(test.jar)
    Unable to deploy EJB: TestBean from test.jar:
    ***** ASSERTION FAILED *****[ Unable to load class com.test.impl.TestBean_3u7muo_TestImpl ]
    weblogic.application.ModuleException: Exception preparing module: EJBModule(test.jar)
    Unable to deploy EJB: TestBean from test.jar:
    ***** ASSERTION FAILED *****[ Unable to load class com.test.impl.TestBean_3u7muo_TestImpl ]
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)
    What is the problem? And What can I do?
    BTW, if I change the @Remote to @Local, I can deploy the ejb successfully.
    In addition, Who knows how to access the ejb3.0 from a standalone client just like access the EJB2.0:
    properties = new Properties();
    properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
    Context cont = new InitialContext(properties);
    Obj ref = cont.lookup("???"); //--------------------> What should I write here???
    Thanks!

    Hi,
    It's not easy to tell what's wrong with your example.
    Maybe you could send me a zip and I'll check when I have some time.
    By the way, you're asking a question about the lookup of an EJB3, I wrote an article that covers that topic.
    It should give you some interesting input.
    http://m-button.blogspot.com/2008/07/reminder-on-how-to-use-ejb3-with.html
    Regards.

  • How to make jar files availabe for deployed EJBs

    Hi,
    I'm interested on how to make jar files availabe for deployed EJBs.
    My EJB is packed in an ear. It uses a util jar. I now just add the jar to the
    classpath, but I think that shouldn't be the way. Is there somthing in the admin
    console to make jars available or do I have to insert it in the ear file? And
    if so, where do I hve to place it?
    Thanks
    Claudia

    Put the util.jar in the ear with your ejb jars - at the same level (i.e. in
    the root) - but do not include them in the manifest.xml.
    Also each ejb jar that refers to util.jar must have util.jar on its internal
    classpath in the manifest.
    "Claudia" <[email protected]> wrote in message
    news:3d537db5$[email protected]..
    >
    Hi,
    I'm interested on how to make jar files availabe for deployed EJBs.
    My EJB is packed in an ear. It uses a util jar. I now just add the jar tothe
    classpath, but I think that shouldn't be the way. Is there somthing in theadmin
    console to make jars available or do I have to insert it in the ear file?And
    if so, where do I hve to place it?
    Thanks
    Claudia

  • Warning, could not re-open xxyy.ear

    Hmm
    So, I'm happily trying to implement container managed relationships. I realised that I need local interfaces not remote ones, so I changed the two or three entities .. I created local interfaces (but didn't delete the remote ones (yet)) .. there's nothing to change in the bean itself is there? .. and noticed that in Sun's deployment tool I wasn't able to change those beans to use a local interface. That leads me to think that I'd missed something somewhere.
    Anyway, I tried to deploy and got a RemoteException: Error while validating XML deployment descriptors: Element "session" does not allow "ejb-ref" here.
    I had a look through the descriptors, and realised I'd missed out converting one of the beans, so I created local interfaces for that too. With me so far? OK, here's the crunch.
    The deploytool hung. I left it for half an hour (I've a slow m/c, running Linux), and it did nothing. So I closed it, closed the machine, and restarted.
    Now it says it "could not re-open xxyy.ear". It's "Trying to set an ejb-local ref on an ejb while the ejb does not define local interfaces."
    I tried to open the ear using the deploytool and it said the file is corrupt or cannot be read.
    What does this sound like to you? Did I miss something while creating local interfaces? Here's a localHome:
    import java.rmi.*;
    import java.util.*;
    import javax.ejb.*;
    public interface ProductLocalHome extends javax.ejb.EJBLocalHome
         // creates and initialises a bean instance
         public ProductLocal create (String pCode, String pName, String pDescription, boolean pDeprocated, boolean pDiscontinued, ProductTypeLocal pProductType) throws CreateException;
         public ProductLocal findByPrimaryKey (String primaryKey) throws FinderException;
    }Here's a local
    import java.rmi.*;
    import java.util.*;
    import javax.ejb.*;
    public interface ProductLocal extends EJBLocalObject
         // persistent fields
         public String getCode();
         public String getName();
         public String getDescription();
         public boolean getDeprocated();
         public boolean getDiscontinued();
         //public int getProductType();
         // notes say set methods aren't exposed to the public
         //public void setCode(String pCode);
         //public void setName(String pName);
         //public void setDescription(String pDescription);
         // select methods (carried over from ProductType)
         // public Collection getProducts() throws FinderException;
    }See anything wrong? Would I need to change anything in the bean to use local rather than remote interfaces?
    That ear file seems to be binary, is there another file with the deployment descriptors in that I can tinker with?
    If I have torebuild the file, I'm not sure where to start .. with the front end or the back end.
    J

    Sorry, I'm not sure why that message above is so wide.
    Anyway, would it work to bring back xxyy.ear from backup? Although it's a few weeks old (I knowwwww), actually my progress is pretty slow so that would be better than re-creating it from scratch. But would it work, or would I need to bring all the other files with it? If it did work on its own, it does create lots of files which seem to be sequentially numbered, would it handle finding a future number already in existence?
    J

  • Failure When Deploying EJB Project That Uses Library Onto Glassfish

    <font size=4>Hi,
    I have a multi project application that I am developing and I am having issues testing it. I have set up a EAR, WAR, EJB, and two library JARs. The EJB contains classes that use components from the library JARs or implement abstract classes from the library JARs. I have added the library JARs to the compile-time libraries of the EJB. I then also added the library JARs to the libraries of the EAR. However when I then go to deploy the EAR onto the Glassfish server I get this error, displayed in the Glassfish log:</font><br>
    <font size=2><font color="red">WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: com/foo/sdk/core/AbstractClass</font><br>
    <font color="red">WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: com/foo/sdk/core/AbstractClass</font><br>
    <font color="red">WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: com/foo/sdk/core/AbstractClass</font><br>
    <font color="red">WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: com/foo/sdk/core/AbstractClas</font><br>
    <font color="red">SEVERE: Class [ com/foo/sdk/core/InterfaceClass ] not found. Error while loading [ class com.foo2.BeanFooClass ]</font><br>
    <font color="red">SEVERE: Exception while deploying the app [FooEAR]</font><br>
    <font color="red">SEVERE: Invalid ejb jar [BeanFoo.jar]: it contains zero ejb. </font><br>
    Note:
    1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean.
    2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar.
    3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly.
    java.lang.IllegalArgumentException: Invalid ejb jar [BeanFoo.jar]: it contains zero ejb.
    Note:
    1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean.
    2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar.
    3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly.
         at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:76)
         at com.sun.enterprise.deployment.util.ApplicationValidator.accept(ApplicationValidator.java:128)
         at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:730)
         at com.sun.enterprise.deployment.Application.visit(Application.java:1768)
         at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:799)
         at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openWith(ApplicationArchivist.java:277)
         at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:240)
         at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:170)
         at org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:93)
         at com.sun.enterprise.v3.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:826)
         at com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:768)
         at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:368)
         at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
         at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
         at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
         at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465)
         at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222)
         at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
         at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
         at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
         at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
         at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
         at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
         at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
         at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
         at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
         at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
         at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
         at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
         at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
         at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
         at java.lang.Thread.run(Thread.java:679)
    <font color="red">SEVERE: Exception while deploying the app [FooEAR] : Invalid ejb jar [FooBean.jar]: it contains zero ejb. </font><br>
    Note:
    1. A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean.
    2. EJB3+ entity beans (@Entity) are POJOs and please package them as library jar.
    3. If the jar file contains valid EJBs which are annotated with EJB component level annotations (@Stateless, @Stateful, @MessageDriven, @Singleton), please check server.log to see whether the annotations were processed properly.</font><br>
    <font size=4>I am using these technologies:
    NetBeans IDE 7.0 for Java EE
    Glassfish 3.1
    I did read that putting the libraries in this directory: <glassfish_home>/domains/domain1/lib may resolve the problem, however there must be a better way.
    Any help would be greatly appreciated!</font>
    Edited by: 866180 on Jun 15, 2011 2:32 PM

    First of all, use a normal font when posting a question. This is just terrible to read.
    You have multiple failures here. Did you actually read and try to understand the error?
    java.lang.NoClassDefFoundError: com/foo/sdk/core/AbstractClassJava is not going to lie, this class is not on the classpath of the application. Either the jar is missing, the class is missing from the jar or you put the jar in the wrong place. Open up the ear using your favorite zip tool and check out its structure. What is the path to the jar inside it?
    Also, open up the META-INF/manifest.mf file inside the EJB jar. Is there a class-path line in there? There shouldn't be!
    A valid ejb jar requires at least one session, entity (1.x/2.x style), or message-driven bean. Apparently your EJB jar contains not a single EJB or MDB class. Did you forget some annotations perhaps?
    Seems to me that your application compiles, but other than that it is very much broken.

  • Error deploying ejb on generated files

    Hi,
    I am trying to deploy an ear with several ejbs in it, however the deployment fails since there are errors on the generated files for an specific. The error in the logs is:
    [07/Apr/2006:09:47:18] SEVERE ( 6716): DPL5102: EJBC - rmic compilation failed
    [07/Apr/2006:09:47:18] WARNING ( 6716): DPL5035:Error while running ejbc
    com.iplanet.ias.deployment.backend.IASDeploymentException: Fatal Error from EJB Compiler -- -- rmic compilation failed: com.iplanet.ias.ejb.codegen.JavaCompilerException: RMI compiler returned an error: C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResource_EJBObjectImpl_Tie.java:1160: Class java.io.java.io.InputStream not found.
    java.io.java.io.InputStream result;
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResource_EJBObjectImpl_Tie.java:1693: Class java.io.java.io.InputStream not found.
    java.io.java.io.InputStream result;
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResourceRemote_Stub.java:2924: The method java.io.java.io.InputStream getMethod(boolean) declared in class com.ams.core.webdav._WebDavResourceRemote_Stub cannot override the method of the same signature declared in interface com.ams.core.webdav.WebDavResourceRemote. They must have the same return type.     
    public java.io.java.io.InputStream getMethod(boolean arg0) throws com.ams.core.webdav.WebDavException, java.rmi.RemoteException {
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResourceRemote_Stub.java:3012: The method java.io.java.io.InputStream getMethod(java.lang.String, boolean) declared in class com.ams.core.webdav._WebDavResourceRemote_Stub cannot override the method of the same signature declared in interface com.ams.core.webdav.WebDavResourceRemote. They must have the same return type.     
    public java.io.java.io.InputStream getMethod(String arg0, boolean arg1) throws com.ams.core.webdav.WebDavException, java.rmi.RemoteException {
    ^
    4 errors
         at com.iplanet.ias.deployment.backend.EJBCompiler.wrapException(EJBCompiler.java:608)
         at com.iplanet.ias.deployment.backend.EJBCompiler.compile(EJBCompiler.java:186)
         at com.iplanet.ias.deployment.backend.AppDeployer.runEJBC(AppDeployer.java:215)
         at com.iplanet.ias.deployment.backend.AppDeployer.deploy(AppDeployer.java:98)
         at com.iplanet.ias.deployment.backend.AppDeployer.doRequest(AppDeployer.java:50)
         at com.iplanet.ias.admin.server.core.mbean.config.ManagedServerInstance.deployJ2EEApplicationArchiveOrDirectory(ManagedServerInstance.java:789)
         at com.iplanet.ias.admin.server.core.mbean.config.ManagedServerInstance.deployJ2EEApplication(ManagedServerInstance.java:694)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.iplanet.ias.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:188)
         at com.iplanet.ias.admin.server.core.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:137)
         at com.iplanet.ias.admin.server.core.jmx.ASMBeanServerImpl.invoke(ASMBeanServerImpl.java:222)
         at com.iplanet.ias.admin.servermodel.controllers.SOMRequestDispatcher.invoke(SOMRequestDispatcher.java:88)
         at com.iplanet.ias.admin.servermodel.controllers.AppServerInstanceCo
    [07/Apr/2006:09:47:18] WARNING ( 6716): ntroller.doDeploy(AppServerInstanceController.java:2518)
         at com.iplanet.ias.admin.servermodel.controllers.AppServerInstanceController.deployApplication(AppServerInstanceController.java:1341)
         at com.iplanet.ias.admin.servermodel.AppServerInstance.deployApplication(AppServerInstance.java:278)
         at com.iplanet.ias.admin.server.gui.jato.DeployEARApplicationViewBean.add(DeployEARApplicationViewBean.java:128)
         at com.iplanet.ias.admin.server.gui.jato.IASViewBean.handleOkRequest(IASViewBean.java:235)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.iplanet.jato.view.command.DefaultRequestHandlingCommand.execute(DefaultRequestHandlingCommand.java:183)
         at com.iplanet.jato.view.RequestHandlingViewBase.handleRequest(RequestHandlingViewBase.java:299)
         at com.iplanet.jato.view.ViewBeanBase.dispatchInvocation(ViewBeanBase.java:811)
         at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewBeanBase.java:749)
         at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandler(ViewBeanBase.java:596)
         at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:772)
         at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:446)
         at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:324)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
         at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
         at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
         at com.iplanet.ias.web.WebContainer.service(WebContainer.java:856)
    As you can see the generated files do not compile because a class specified as java.io.java.io.InputStream does not exists. My ear can be generated successfully and the class in question is specified to be java.io.InputStream. I am running Sun Java System Application Server 7 2004Q2 Update 4.. Any help on this matter will be appreciated.
    Thanks in advance
    Jairo Vazquez

    Hi,
    I am trying to deploy an ear with several ejbs in it, however the deployment fails since there are errors on the generated files for an specific. The error in the logs is:
    [07/Apr/2006:09:47:18] SEVERE ( 6716): DPL5102: EJBC - rmic compilation failed
    [07/Apr/2006:09:47:18] WARNING ( 6716): DPL5035:Error while running ejbc
    com.iplanet.ias.deployment.backend.IASDeploymentException: Fatal Error from EJB Compiler -- -- rmic compilation failed: com.iplanet.ias.ejb.codegen.JavaCompilerException: RMI compiler returned an error: C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResource_EJBObjectImpl_Tie.java:1160: Class java.io.java.io.InputStream not found.
    java.io.java.io.InputStream result;
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResource_EJBObjectImpl_Tie.java:1693: Class java.io.java.io.InputStream not found.
    java.io.java.io.InputStream result;
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResourceRemote_Stub.java:2924: The method java.io.java.io.InputStream getMethod(boolean) declared in class com.ams.core.webdav._WebDavResourceRemote_Stub cannot override the method of the same signature declared in interface com.ams.core.webdav.WebDavResourceRemote. They must have the same return type.     
    public java.io.java.io.InputStream getMethod(boolean arg0) throws com.ams.core.webdav.WebDavException, java.rmi.RemoteException {
    ^
    C:\Sun\SunONE\AppServer7\domains\domain1\server1\generated\ejb\j2ee-apps\coretest\com\ams\core\webdav\_WebDavResourceRemote_Stub.java:3012: The method java.io.java.io.InputStream getMethod(java.lang.String, boolean) declared in class com.ams.core.webdav._WebDavResourceRemote_Stub cannot override the method of the same signature declared in interface com.ams.core.webdav.WebDavResourceRemote. They must have the same return type.     
    public java.io.java.io.InputStream getMethod(String arg0, boolean arg1) throws com.ams.core.webdav.WebDavException, java.rmi.RemoteException {
    ^
    4 errors
         at com.iplanet.ias.deployment.backend.EJBCompiler.wrapException(EJBCompiler.java:608)
         at com.iplanet.ias.deployment.backend.EJBCompiler.compile(EJBCompiler.java:186)
         at com.iplanet.ias.deployment.backend.AppDeployer.runEJBC(AppDeployer.java:215)
         at com.iplanet.ias.deployment.backend.AppDeployer.deploy(AppDeployer.java:98)
         at com.iplanet.ias.deployment.backend.AppDeployer.doRequest(AppDeployer.java:50)
         at com.iplanet.ias.admin.server.core.mbean.config.ManagedServerInstance.deployJ2EEApplicationArchiveOrDirectory(ManagedServerInstance.java:789)
         at com.iplanet.ias.admin.server.core.mbean.config.ManagedServerInstance.deployJ2EEApplication(ManagedServerInstance.java:694)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.iplanet.ias.admin.server.core.jmx.Introspector.invokeMethodOn(Introspector.java:188)
         at com.iplanet.ias.admin.server.core.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:137)
         at com.iplanet.ias.admin.server.core.jmx.ASMBeanServerImpl.invoke(ASMBeanServerImpl.java:222)
         at com.iplanet.ias.admin.servermodel.controllers.SOMRequestDispatcher.invoke(SOMRequestDispatcher.java:88)
         at com.iplanet.ias.admin.servermodel.controllers.AppServerInstanceCo
    [07/Apr/2006:09:47:18] WARNING ( 6716): ntroller.doDeploy(AppServerInstanceController.java:2518)
         at com.iplanet.ias.admin.servermodel.controllers.AppServerInstanceController.deployApplication(AppServerInstanceController.java:1341)
         at com.iplanet.ias.admin.servermodel.AppServerInstance.deployApplication(AppServerInstance.java:278)
         at com.iplanet.ias.admin.server.gui.jato.DeployEARApplicationViewBean.add(DeployEARApplicationViewBean.java:128)
         at com.iplanet.ias.admin.server.gui.jato.IASViewBean.handleOkRequest(IASViewBean.java:235)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.iplanet.jato.view.command.DefaultRequestHandlingCommand.execute(DefaultRequestHandlingCommand.java:183)
         at com.iplanet.jato.view.RequestHandlingViewBase.handleRequest(RequestHandlingViewBase.java:299)
         at com.iplanet.jato.view.ViewBeanBase.dispatchInvocation(ViewBeanBase.java:811)
         at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandlerInternal(ViewBeanBase.java:749)
         at com.iplanet.jato.view.ViewBeanBase.invokeRequestHandler(ViewBeanBase.java:596)
         at com.iplanet.jato.ApplicationServletBase.dispatchRequest(ApplicationServletBase.java:772)
         at com.iplanet.jato.ApplicationServletBase.processRequest(ApplicationServletBase.java:446)
         at com.iplanet.jato.ApplicationServletBase.doPost(ApplicationServletBase.java:324)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
         at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
         at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
         at com.iplanet.ias.web.WebContainer.service(WebContainer.java:856)
    As you can see the generated files do not compile because a class specified as java.io.java.io.InputStream does not exists. My ear can be generated successfully and the class in question is specified to be java.io.InputStream. I am running Sun Java System Application Server 7 2004Q2 Update 4.. Any help on this matter will be appreciated.
    Thanks in advance
    Jairo Vazquez

Maybe you are looking for

  • Generic Datasource on table IMRG in R/3- delta on timestamp is it ok ?

    Hi I am creating Generic datasource based on table IMRG in R/3, This has stoppages related data. which we need in BI report. There is a field for Time-stamp in the table, i have checked values in table IMRG, but in R/3 it shows no data for the time-s

  • How do I put my songs from iPod on my comp??

    I restarted my whole entire comp today, so all my files were erased. But all my music was saved onto my iPod, and I would like to put all 744 songs on iTunes. How do I go about doing this???? I thought I had this earlier, but I'm totally confused now

  • Macbook air won't turn on and the screen will go white. It says that the start up disk is full. HELP

    When I turn my macbook air on it sends me a message saying that my start up disk is full and that I have to free up some space. When I log in into my account the screen will go white and I won't be able to do anything. I tried to restart my computer

  • Hierarchy problem in BEX

    Hi, Our 0material is loaded with hierarchy prdha, also 0prod_hier_attr is loaded-activated and 0prod_hier infoobject is loaded-activated as well. The weird thing (unless for me) is that in bex only some 0materials have a data in hierarchy attribute;

  • Netweaver 04s - Use of two structures in the query craeted dump

    I have used two structures in a query, The same query works fine in current BW 3.5 system but in BI 7.O sandbox (copy of prod), it dumps out. When I check the query, it does give these message (same as in PROD, where it runs without a problem). - Dif