This discussion is archived
11 Replies Latest reply: May 2, 2013 1:11 AM by Filip Huysmans RSS

Deploying AM Services in a separate WLS

Filip Huysmans Newbie
Currently Being Moderated
Hello everyone,

JDeveloper 11.1.1.6.0
Generated an AM with a service interface. While running the service works fine, deploying it to a remote server doesn't work.
We receive the following error:
[05:54:25 PM] Redeploying Application...
[05:54:25 PM] [Deployer:149191]Operation 'deploy' on application 'MobileServicesLayer' is initializing on 'ADFM'
[05:54:26 PM] [Deployer:149193]Operation 'deploy' on application 'MobileServicesLayer' has failed on 'ADFM'
[05:54:26 PM] [Deployer:149034]An exception occurred for task [Deployer:149026]deploy application MobileServicesLayer on ADFM.: Exception preparing module: EJBModule(MobileServices_MiddleTier.jar)
[EJB:011023]An error occurred while reading the deployment descriptor. The error was:
 Error processing annotations: ..
[05:54:26 PM] Weblogic Server Exception: weblogic.application.ModuleException: Exception preparing module: EJBModule(MobileServices_MiddleTier.jar)
[EJB:011023]An error occurred while reading the deployment descriptor. The error was:
 Error processing annotations: .
[05:54:26 PM] Caused by: weblogic.utils.ErrorCollectionException: 

There are 1 nested errors:

weblogic.j2ee.dd.xml.AnnotationProcessException: In the ejb-jar.xml, the EJB be.model.services.common.ServiceAMServiceBean does not specify an ejb-class value and no annotated EJB class was found in the ejb-jar file with a matching ejb-name.  The ejb-class value must be specified.
[05:54:26 PM]   See server logs or server console for more details.
[05:54:26 PM] weblogic.application.ModuleException: Exception preparing module: EJBModule(MobileServices_MiddleTier.jar)
[EJB:011023]An error occurred while reading the deployment descriptor. The error was:
 Error processing annotations: .
[05:54:26 PM] ####  Deployment incomplete.  ####
[05:54:26 PM] Remote deployment failed
In the server log, we see the following error:
####<14-feb-2013 17.33 u. CET> <Error> <Deployer> <VWLS03> <ADFM> <[ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <490e5c50180090c4:-25e8b775:13cd918e909:-8000-00000000000001ee> <1360859635261> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1360859634464' for task '12'. Error is: 'weblogic.application.ModuleException: Exception preparing module: EJBModule(MobileServices_MiddleTier.jar)
[EJB:011023]An error occurred while reading the deployment descriptor. The error was:
 Error processing annotations: .' 
weblogic.application.ModuleException: Exception preparing module: EJBModule(MobileServices_MiddleTier.jar)
[EJB:011023]An error occurred while reading the deployment descriptor. The error was:
 Error processing annotations: . 
        at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:469) 
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:518) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:47) 
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:649) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) 
        at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:59) 
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) 
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.createAndPrepareContainer(RedeployOperation.java:105) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.doPrepare(RedeployOperation.java:128) 
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:749) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) 
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:160) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:47) 
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) 
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
Caused By: weblogic.utils.ErrorCollectionException:  
 
There are 1 nested errors: 
 
weblogic.j2ee.dd.xml.AnnotationProcessException: In the ejb-jar.xml, the EJB model.services.common.ServiceAMServiceBean does not specify an ejb-class value and no annotated EJB class was found in the ejb-jar file with a matching ejb-name.  The ejb-class value must be specified. 
        at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.addProcessingError(BaseJ2eeAnnotationProcessor.java:1323) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.loadBeanClass(EjbAnnotationProcessor.java:2133) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processSessionAnnotations(EjbAnnotationProcessor.java:385) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:315) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:185) 
        at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processStandardAnnotations(EjbDescriptorReaderImpl.java:344) 
        at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:204) 
        at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93) 
        at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1245) 
        at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:397) 
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45) 
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:648) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) 
        at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:59) 
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) 
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.createAndPrepareContainer(RedeployOperation.java:104) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.doPrepare(RedeployOperation.java:128) 
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) 
        at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) 
        at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13) 
        at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46) 
        at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545) 
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
 
 
        at weblogic.j2ee.dd.xml.BaseJ2eeAnnotationProcessor.addProcessingError(BaseJ2eeAnnotationProcessor.java:1322) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.loadBeanClass(EjbAnnotationProcessor.java:2133) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processSessionAnnotations(EjbAnnotationProcessor.java:385) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:315) 
        at weblogic.ejb.container.dd.xml.EjbAnnotationProcessor.processAnnotations(EjbAnnotationProcessor.java:185) 
        at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processStandardAnnotations(EjbDescriptorReaderImpl.java:344) 
        at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:204) 
        at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93) 
        at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1245) 
        at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:397) 
        at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) 
        at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45) 
        at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:648) 
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 
        at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191) 
        at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:59) 
        at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) 
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.createAndPrepareContainer(RedeployOperation.java:104) 
        at weblogic.deploy.internal.targetserver.operations.RedeployOperation.doPrepare(RedeployOperation.java:128) 
        at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) 
Any idea on how to solve this?

Thank you in advance.

Filip Huysmans

Edited by: Filip Huysmans on Feb 15, 2013 2:28 AM
  • 1. Re: Deploying AM Services in a separate WLS
    dvohra21 Oracle ACE
    Currently Being Moderated
    Is ejb-jar.xml configuration mixed with Annotations?

    Specify only ejb annotations.
  • 2. Re: Deploying AM Services in a separate WLS
    Filip Huysmans Newbie
    Currently Being Moderated
    Hi dvohra16,

    this is the content of the ejb-jar.xml file :
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    <ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
             version="3.0" xmlns="http://java.sun.com/xml/ns/javaee">
      <enterprise-beans>
        <session>
          <ejb-name>model.services.common.ServiceAMServiceBean</ejb-name>
          <resource-ref>
            <res-ref-name>jdbc/MobileDBConnDS</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
          </resource-ref>
        </session>
      </enterprise-beans>
    </ejb-jar>
    Here is also the content of the weblogic-ejb-jar.xml file (just in case):
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    <weblogic-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                      xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.1/weblogic-ejb-jar.xsd"
                      xmlns="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar">
      <weblogic-enterprise-bean>
        <ejb-name>
          model.services.common.ServiceAMServiceBean
        </ejb-name>
        <stateless-session-descriptor>
          <pool>
            <initial-beans-in-free-pool>
              2
            </initial-beans-in-free-pool>
          </pool>
        </stateless-session-descriptor>
        <enable-call-by-reference>
          true
        </enable-call-by-reference>
      </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    Any idea what is wrong with them?

    Thank you in advance.

    Edited by: Filip Huysmans on Feb 15, 2013 2:30 AM
  • 3. Re: Deploying AM Services in a separate WLS
    Jan Vervecken Journeyer
    Currently Being Moderated
    hi Filip
    Filip Huysmans wrote:
    ... Any idea on how to solve this? ...
    The forum thread "EJB3 test client: javax.naming.NameNotFoundException for JDev 11.1.1.3 "
    at EJB3 test client: javax.naming.NameNotFoundException  for JDev 11.1.1.3
    seems possibly related.

    regards
    Jan Vervecken
  • 4. Re: Deploying AM Services in a separate WLS
    Filip Huysmans Newbie
    Currently Being Moderated
    Hi Jan,

    thx for the reference, I had already read the thread and blog, but I don't see any actions that I can take to resolve the problem I have.
    Can you help me in pinpointing the actions needed?

    Thx.

    Filip
  • 5. Re: Deploying AM Services in a separate WLS
    Jan Vervecken Journeyer
    Currently Being Moderated
    Filip Huysmans wrote:
    ... Can you help me in pinpointing the actions needed?
    Not currently. Just wanted to refer to something that seemed related.

    regards
    Jan
  • 7. Re: Deploying AM Services in a separate WLS
    Filip Huysmans Newbie
    Currently Being Moderated
    Hi dvohra16,

    thx for the thread link, this seems to be the same as Jan Vervecken mentioned.
    Also same remark here, what should be done? What are the actions? We don't use ejb directly, we only use BC and the service interface of the am directly.

    Thank you in advance for any idea's.

    Filip Huysmans
  • 8. Re: Deploying AM Services in a separate WLS
    dvohra21 Oracle ACE
    Currently Being Moderated
    Specify the ejb-class in the ejb-jar.xml.

    weblogic.j2ee.dd.xml.AnnotationProcessException: In the ejb-jar.xml, the EJB model.services.common.ServiceAMServiceBean does not specify an ejb-class value and no annotated EJB class was found in the ejb-jar file with a matching ejb-name.  The ejb-class value must be specified.

    Edited by: dvohra16 on Feb 17, 2013 2:13 PM
  • 9. Re: Deploying AM Services in a separate WLS
    Filip Huysmans Newbie
    Currently Being Moderated
    Sorry for asking perhaps the obvious question: but how do you do that?
  • 10. Re: Deploying AM Services in a separate WLS
    dvohra21 Oracle ACE
    Currently Being Moderated
    <?xml version = '1.0' encoding = 'ISO-8859-1'?>
    <ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
    version="3.0" xmlns="http://java.sun.com/xml/ns/javaee">
    <enterprise-beans>
    <session>
    <ejb-name>model.services.common.ServiceAMServiceBean</ejb-name>
    *<ejb-class>model.services.common.ServiceAMServiceBean</ejb-class>*
    <resource-ref>
    <res-ref-name>jdbc/MobileDBConnDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </session>
    </enterprise-beans>
    </ejb-jar>
  • 11. Re: Deploying AM Services in a separate WLS
    Filip Huysmans Newbie
    Currently Being Moderated
    Hello dvohra21,

    Using your solution, we stumbled on the fact that we missed the referenced class.
    So we decided to create a new deployment profile.

    In the newly created profile we saw that the META_INF directory, which include adfm.xml, ejb-jar.xml and weblogic-ejb-jar.xml, was selected entirely.
    We also deactivated the "Auto Generate and Synchronize weblogic-jdbc.xml Descriptors During Deployments".
    These actions resulted in a working version.

    Hope this can help others.

    Thanks a lot to everyone for helping finding a solution.

    Filip

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points