CMP Ejb not deploying

Hello all,
Im running WLS 6.1 with SP3 evaluation version on Win2K Pro with Oracle
8.1.6 database.
Im new to Weblogic's deployment of EAR files. I am facing the following few
problems when i try to deply any cmp entity bean:
1. Though a common file that the EJB jar depends on, is present in the EAR
file, I get errors NoClassDefFound errors for that class. I read posts which
talk about how WLS is a bit different in this regard and that common files
will have to added separately to the classpath or bundled with the ejb jar.
However isnt that defeating the purpose of an EAR file?
2. I added the common class to the classpath in the startup script and
restarted weblogic. I get the following message on the console :
<Sep 10, 2002 10:22:55 AM BST> <Error> <J2EE> <Error deploying application
ejbDeployedCore121:
Unable to deploy EJB: Accbaladj from ejbDeployedCore121.jar:
The Container-Managed Persistence Entity EJB failed while creating its SQL
Type Map. The error was: null, Exception = null
I havent read any posts which answer this problem. I created my ear file
from scratch (compilation and ejbc of the source with the new WLS6.1 tools)
and am trying to deploy it but repeatedly failing.
3. Also could somebody point out a good online article/book/paper, which
talks about WLS 6.1 deployments of EAR files, rather like Websphere's
redbooks do about WAS?
If anybody has any idea of any of the above issues, I would be grateful if
you could mail in a reply.
TAR
Pavan

The issues are resolved now.
1. This classpath entry problem was a bit mystifying. The manifest entry was
correct and it should have picked it up automatically. When i restarted the
server though, it started up properly.
2. The CMP problem was a bit more troublesome. I think it was because of an
incorrect datasource and connection pool properties. I used utils.Schema to
check my database connection and once i got the url and driver name
correctly it worked.
TAR,
Pavan

Similar Messages

  • EJBs not deploying

    Hi, on my weblogic 5.1 whith sevicepack 7.0.
    My EJBs are not deploying at startup.
    The discriptors in the weblogic.properties are ok. The paths to the files
    are ok. Classpath is ok.
    Jars where on another WLS and working fine.
    Usualy when a JAR file is not found, I should get a FileNotFound exception
    at WLS boot. I dont even get this error. I made up a non existing file
    hoping to at least get the FileNotFound exception, but it does not happen.
    All I get is 0 files deployed.
    Plz help.

    Ejb jar file should be in the /applications directory to install at startup.
    Melkor wrote:
    Hi, on my weblogic 5.1 whith sevicepack 7.0.
    My EJBs are not deploying at startup.
    The discriptors in the weblogic.properties are ok. The paths to the files
    are ok. Classpath is ok.
    Jars where on another WLS and working fine.
    Usualy when a JAR file is not found, I should get a FileNotFound exception
    at WLS boot. I dont even get this error. I made up a non existing file
    hoping to at least get the FileNotFound exception, but it does not happen.
    All I get is 0 files deployed.
    Plz help.

  • 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)

  • Whether java component (Not ejb, not servlet) can be deployed in App Server and get the services provided by App Server

    As I mentioned in subject, I am just wondering Whether the java component (Not
    ejb, not servlet) can be deployed in App Server and get the services provided
    by App Server or not?

    Nevermind folks - I got it to work. All my configuration was correct; I had other issues with the ejb-jar file that the verifier informed me of (my previous deployments were with the verifier turned-off).

  • Error deploying first CMP EJB

    I'm trying to create and deploy a simple CMP EJB and am getting the following error
    upon deployment:
    C:\bea\wlserver6.1\tmp_ejbENBrianPr280\vwejbapp_Contactejb\vw\ejb\ContactEJB_za4
    cvx__WebLogic_CMP_RDBMS.java:342: ';' expected java.lang.String __WL_query = "SELECT
    WL0.name=\"FIRST_NAME\", WL0.name=\" CONTACT_ID\", WL0.name=\"LAST_NAME\" FROM
    name=\"BASE_CONTACT\" WL0 WHERE (WL0. name="CONTACT_ID" = ?)" + __WL_pm.selectForUpdate();
    I have tried using both EJBGEN and XDoclet to generate my classes and descriptors,
    and WLS6.1 SP2 on Win2k.

    I'm trying to create and deploy a simple CMP EJB and am getting the following error
    upon deployment:
    C:\bea\wlserver6.1\tmp_ejbENBrianPr280\vwejbapp_Contactejb\vw\ejb\ContactEJB_za4
    cvx__WebLogic_CMP_RDBMS.java:342: ';' expected java.lang.String __WL_query = "SELECT
    WL0.name=\"FIRST_NAME\", WL0.name=\" CONTACT_ID\", WL0.name=\"LAST_NAME\" FROM
    name=\"BASE_CONTACT\" WL0 WHERE (WL0. name="CONTACT_ID" = ?)" + __WL_pm.selectForUpdate();
    I have tried using both EJBGEN and XDoclet to generate my classes and descriptors,
    and WLS6.1 SP2 on Win2k.

  • Weblogic Deployment Descriptor for CMP EJB

    Hi all,
    Am new to EJB, CMP. Pls help me how to write deployment descriptors for the CMP EJB for Weblogic.
    Give me the list of the Deployment descriptors needed and also pls give me some samples
    thanks in advance
    rgds
    Ravi Bharathi

    The easiest way is to go through some tutorial or refer the code samples. If you have installed weblogic, there are examples provided in the weblogic installation folder itself for each type of bean. Basically for cmp you have to provide the table names and mapping between the class variables to db fields in weblogic_cmp_rdbms.xml deployment descriptor.

  • EJB Deployment Descriptors not deploying to WLS

    Hi,
    We're using Eclipse 3.4.1 with the OEPE to target WLS 10.3 with Java 6/JEE 1.4 on a Windows XP Professional development machine.
    We have an EJB 2.1 project as part of a larger EAR. The beans (all stateless session beans) and associated interfaces and deployment descriptors within are maintained manually for internal reasons; we do not rely on EJBGen or XDoclet or anything like that to manage these. We are NOT using any annotations in these EJBs, as is the default when you create a bean. Instead we rely on weblogic-ejb-jar.xml and ejb-jar.xml.
    We're having an issue where deploying to the local Weblogic server instance fails with the following error displaying in the Eclipse console:
    <Dec 19, 2008 9:21:13 AM CST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'xxxxxxx'.>
    <Dec 19, 2008 9:21:13 AM CST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Exception preparing module: EJBModule(xxxxxxxEJB.jar)
    [EJB:011023]An error occurred while reading the deployment descriptor. The error was:
    No EJBs found in the ejb-jar file {0}. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation..
         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)
         Truncated. see log file for complete stacktrace
    java.io.IOException: No EJBs found in the ejb-jar file {0}. Please ensure the ejb-jar contains EJB declarations via an ejb-jar.xml deployment descriptor or at least one class annotated with the @Stateless, @Stateful or @MessageDriven EJB annotation.
         at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:199)
         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)
         Truncated. see log file for complete stacktrace
    We DO have multiple beans defined, but it seems that WLS just isn't aware of them due to the lack of a deployment descriptor. It appears that Eclipse/OEPE is not copying the ejb-jar.xml and weblogic-ejb-jar.xml files to the build directory when the project is build:
    xxxxxEJB
    |-- ejbModule
    |.....|-- META-INF
    |.....|.....|-- ejb-jar.xml
    |.....|.....|-- MANIFEST.MF
    |.....|.....|-- weblogic-ejb-jar.xml
    |.....|-- com (etc., .java files)
    |-- build
    ......|-- classes
    ............|-- META-INF
    ............|......|-- MANIFEST.MF
    ............|-- com (etc, .class files)
    Other notes:
    - Cleaning the project does not help.
    - Starting a new workspace does not help.
    - It works under Eclipse 3.3.2 with the Europa version of OEPE.
    - Explicitly exporting an EJB Jar file DOES include the two deployment descriptors (just not deploying to the embedded test server we've defined in our Servers view)
    Any ideas? This seems like either a bug in the OEPE, or maybe WTP.

    Yes, I have a simple EJB2.1 project with hand-crafted EJB remote/home interfaces/classes and deployment descriptors. Also tried Clean/Rebuild and manually delete
    files under /build/classes.
    Here are my descriptors files:
    ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
         <display-name>TestEJB</display-name>
    <enterprise-beans>
    <session>
    <display-name>HelloSessioin</display-name>
    <ejb-name>HelloSession</ejb-name>
    <home>sessions.HelloSessionHome</home>
    <remote>sessions.HelloSession</remote>
    <ejb-class>sessions.HelloSessionBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    <security-identity>
    <use-caller-identity/>
    </security-identity>
    </session>
    </enterprise-beans>
    </ejb-jar>
    weblogic-ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <weblogic-ejb-jar
    xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>HelloSession</ejb-name>
    <stateless-session-descriptor>
    </stateless-session-descriptor>
    <jndi-name>ejb.HelloSessionRemoteHome</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    Did you check if there is any error/warning in Error Log view?

  • Running CMP EJB in remote OC4J fails, works in embedded. Oracle 9i

    I more or less followed the EJB Tutorial (in the help) for creating a session-entity bean facade from Oracle 9i tables. Everything executes correctly in the embedded oc4j but it fails on the remote oc4j with
    java.sql.SQLException: Invalid column name
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:187)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:229)
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:292)
         at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:5632)
         at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:716)
         at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1506)
         at com.evermind.sql.FilterResultSet.getString(FilterResultSet.java:585)
         at EmployeeLocalHome_EntityHomeWrapper13.findAll(EmployeeLocalHome_EntityHomeWrapper13.java:1260)
    Then I also created another simpler CMP EJB that just has 3 fields from Oracle table. This one doesn't even work in embedded oc4j :
    com.evermind.server.rmi.OrionRemoteException: Database error: ORA-01747: invalid user.table.column, table.column, or column specification
         java.util.Collection TimesheetHoursHome_EntityHomeWrapper11.findAll()
    Are there any known problems I should look out for with generating CMP EJBS with wizards?
    I think the IDE is more intuitive than WSAD. It would be great it things worked though.
    Another question is regarding relationships. Do the wizards always use ejb-refs to implement relationships? It should be easy enough to add them with EJB Editor if they do not.
    Thanks for any help.

    Known issues are documented in the release notes
    http://otn.oracle.com/products/jdev/htdocs/readme_903Preview.html#ejb
    <<<Another question is regarding relationships. Do the wizards always use ejb-refs to implement relationships? >>>>
    Not sure what you meant here. If you reverse engineer let us say DEPT and EMP tables, foreign key relationships between the tables are reverse engineered as CMR but there aren't any ejb-ref/ejb-local-ref tags which get generated in the deployment descriptor.
    <<It should be easy enough to add them with EJB Editor if they do not. >>
    You can double-click on the EJB to bring the EJB Module Editor and select "Relationships" node to add/edit/delete relationships visually.
    raghu
    JDev Team

  • Question: How to use XMLType in a CMP EJB???

    Hello, Together,
    I have a big problem using XMLType in a CMP EJB. I don't know, if somebody knows about it:
    I am trying to write a CMP EJB, which should be deployed under JBoss later. The problem here is, which java data type should I use to map a column of XMLType. I have tried to use it as a java.lang.Object, and also as a java.lang.String, it did not work properly.
    Can someone help me? Thanks a lot!

    Just pass the in the JSP/Servlet involved ServletContext through as a method or constructor parameter of that Java class.
    Semi-pseudo:protected doPost(req, res) {
        ServletContext servletContext = getServletContext();
        SomeJavaClass someJavaClass = new SomeJavaClass(servletContext);
        // or
        someJavaClass.doSomething(servletContext);
    }

  • CMP EJB CLOB/BLOB retrieval issues from Oracle through JBoss

    I have some EJB 2.0 CMP Entity Beans, deployed on a JBoss 3.07 application server.
    In some of my beans I have Strings that I would like to map to a CLOB in my database as the Strings could easily be more than 4000 characters, and some byte arrays that I would like to map to a BLOB in my database to store files.
    When I use PostgreSQL as my datastore in JBoss I can store and retrieve data from my CLOBs and BLOBs just fine.
    However when I use an Oracle 9i (9.0.1) database for my datastore, I can write the information to the CLOB/BLOB fields (I can see it when I manually check the tables), but for some reason I cannot retrieve the information when I load my beans. The fields that map to the CLOB/BLOB are null, and eventually resave themselves overwriting the data in the database.
    When I test using LONG RAW as a type it works perfectly, but LONG RAW is not a standard SQL type. I do not want to convert my beans to BMP, and also do not want to have any Oracle specific code in my beans to store retrieve my information. I need my beans to be completely database independant.
    Does anyone have any ideas what could be causing my retrieval problem and what I could do to fix it?

    I solved my problem.
    I am using XDoclet to generate my bean interfaces and xml files etc., and it generates the jbosscmp-jdbc.xml file for me.
    I forgot to add @jboss tags to my beans so that the jbosscmp-jdbc.xml file includes tags to overwrite the default cmp mapping (string to varchar) to be from string to clob for those specific long string fields that i want.

  • Running a CMP EJB with MySql DB Connection Problem

    I have created a CMP EJB in JDev connecting to a MySql table. I am able to see the connection in JDev just fine (everything is correctly configured for MySql). However, when I try to run it in the Embedded OC4J Server I get the following error:
    ****************************** Start of message output *************************************
    [Starting OC4J using the following ports: HTTP=8988, RMI=23891, JMS=9227.]
    C:\JDev9i\jdk\bin\javaw.exe -ojvm -classpath C:\JDev9i\j2ee\home\oc4j.jar com.evermind.server.OC4JServer -config C:\JDev9i\jdev\system\oc4j-config\server.xml
    Error instantiating application at file:/C:/JDeveloper/jdev/system/oc4j-config/applications/bc4j.ear: Unable to find/read assembly info for C:\JDeveloper\jdev\system\oc4j-config\applications/bc4j (IO error: unable to find bc4j)
    Error initializing data-source 'jdbc/MySqlCoreDS': DriverManagerDataSource driver 'org.gjt.mm.mysql.Driver' not found
    Copying default deployment descriptor from archive at F:\JavaProjects\Questionaire\QuestionsEJB\classes/META-INF/orion-ejb-jar.xml to deployment directory C:\JDev9i\jdev\system\oc4j-config\application-deployments\current-workspace-app\classes...
    Auto-deploying file:/F:/JavaProjects/Questionaire/QuestionsEJB/classes/ (No previous deployment found)... SQL error: No suitable driver
    Warning: Error creating table: No suitable driver
    done.
    Oracle9iAS (9.0.2.0.0) Containers for J2EE initialized
    ************************ End of message output ************************************
    I have updated the data-sources.xml to include the datasource:
         <data-source
              class="com.evermind.sql.DriverManagerDataSource"
              name="MySqlDS"
              location="jdbc/MySqlCoreDS"
              xa-location="jdbc/xa/MySqlXADS"
              ejb-location="jdbc/MySqlDS"
              connection-driver="org.gjt.mm.mysql.Driver"
              username="root"
              password="yes"
              url="jdbc:mysql://localhost:3306/questionaire?ultradevhack=true"
              inactivity-timeout="30"
         />
    What else to I need to do to get this working?
    Thanks,
    Karl

    I have created a CMP EJB in JDev connecting to a MySql table. I am able to see the connection in JDev just fine (everything is correctly configured for MySql). However, when I try to run it in the Embedded OC4J Server I get the following error:
    Error initializing data-source 'jdbc/MySqlCoreDS': DriverManagerDataSource driver 'org.gjt.mm.mysql.Driver' not foundMake sure that you create a Library in JDeveloper containing the MySQL JAR files and add this library to your project before launching starting the embedded OC4J instance.
    Rob

  • Question abou CMP EJB

    those days i read the book 'enterprise java bean'
    i got some question while reading.
    1. in CMP EJB the container will take care the connect to the database and while deployment the ejb it will create the finder methods ( and other SQL statements ) right ?
    2. in CMP EJB, where is the database? i look some deployment file, can not find any thing about database.so where is it? and how container connect the database, it use jdbc as well ?
    3. When using EJB, the client part will run ejb sever as well? i think the ejb sever part will run the sever, the client will not, right?
    thanks for answer those questions. your help will be very appreciated.
    thanks

    those days i read the book 'enterprise java bean'
    i got some question while reading.
    1. in CMP EJB the container will take care the connect
    to the database and while deployment the ejb it will
    create the finder methods ( and other SQL statements )
    right ?
    If is is BMP (Bean Managed Persistence) then you have to do it, if it has CMP (Container Managed Persistence) then the container will do it for you.
    2. in CMP EJB, where is the database? i look some
    deployment file, can not find any thing about
    database.so where is it? and how container connect the
    database, it use jdbc as well ?
    The mapping between the EJB and the database is done in a vendor specific xml file, where you map the columns of the table(s) in the database to the fields in your EJB. In that XML file you will reference the database that you will use by referencing a connection pool or datasource.
    3. When using EJB, the client part will run ejb sever
    as well? i think the ejb sever part will run the
    sever, the client will not, right?The Client part doesn't run any container. You have to create a context to the Container running the EJB and then find it and use it.
    MSB

  • CMP EJBs for Weblogic 6.1

    Hi All
    It seems that when I use the functionality to build a CMP EJB (an EJB that is automatically built based on an Oracle table) the deployment descriptors are missing lots of info so it it not possible to deploy to Weblogic (6.1).
    I'm assuming the functionality intended is that it will be possible to automatically generate CMP EJBs from Oracle and deploy them directly to a iAS/Weblogic etc....
    Session Beans seem OK.
    Anyone got any thoughts on this?
    Dave

    For Weblogic - Users can develop session beans add weblogic-ejb-jar.xml and
    deploy to a WebLogic connection.
    If the project doesn't have a weblogic-ejb-jar.xml and a connection type of Weblogic is choosen for deployment , weblogic-ejb-jar.xml is automatically generated for the EJBs and wrapped in the EJB.jar before deploying to WLS.
    JDeveloper provides Deployment descriptor editors for editing weblogic-ejb-jar.xml thru UI panels. This is very convinient rather than hand editing the XML.
    Currently you would have to add Weblogic cmp specific deployment descriptor into the project and make it part of the EJB.jar during the assembly process (i.e when you create the deployment profile).
    raghu
    JDev Team

  • Additional field in join table for CMP EJB

    Hello,
    I'm trying to perform this task using CMP entity beans:
    The entity A has a CMR relation of cardinality m-n with entity B (bidirectional) (This is working fine).
    I want to add a parameter to the relation.
    Ex : When I find that A1 is linked to B1, I need to perform "x" times an action. x would be my parameter, and I would have kept this parameter as an additional column in the join table A_TO_B.
    Could anyone provide an example of how to perform this with CMP EJB?
    NOTE: I'm using OC4J 10g 9.0.4 standalone (and cannot change my version).
    Thanks
    Tanguy

    Manohar,
    You need to create an append structure for table VBAP (for example ZAVBAP) using SE11. In this structure you create your ZZ fields. If you need a non-SAP domain/data element for your field then you need to create it first using the same transaction and activate it. Attach ZAVBAP to VBAP so the SE11 shows:
    .APPEND in the Fields column and
    ZAVBAP in the Field type column.
    Your ZZ fields will be shown automatically.
    When you have finished then activate your ZAVBAP structure. You will notice when you go VA01 (for example) that a lot of programs are being recompiled. Don't worry. It will be ok.
    The user-exit screen number for items is 8459 (in program SAPMV45A).
    Thanks,
    Wojtek

  • Adding more fields to a CMP EJB

    I'm using Sun's ONE studio 5, Sun ONE AS, and PointBase-db.
    I use the CMP EJB wizard to generate the skeleton for a CMP EJB, and specify to use a database-table from PointBase as the CMP-persistant fields.
    The problem arises when i want to add futher fields, when i try adding the in the IDE, i cant deploy the application(!)
    What am i doing wrong?
    Thank you in advance!

    Please see response to
    http://forum.java.sun.com/thread.jsp?forum=136&thread=444274&start=0&range=15#2191688
    vbk

Maybe you are looking for

  • How to pair a new remote for Apple TV First Gen Without the Old Remote?

    We bought the first generation apple tv when it first came out. When we got it, it came with the old small plastic remote. A few years back we lost the plastic remote and decided to one of the new metal remotes but 1 problem. We can pair the new remo

  • How to set width of a prompt in OBIEE 11g?

    Hi, We have recently upgraded to OBIEE 11G. In 10g all our prompts were fine. After upgrade, the prompts look distracted. All the prompts are Choice Lists. The width of the prompts is varying depending on the width of the values that are coming from

  • Inconsistencies between my contacts on different ios devices

    Trying to share contacts between iPhone 6, iMac and iPad. The iPhone and iMac seem to be on the same page, but not the iPad. I'm missing something somewhere along the line.

  • Native Schema Translate - File Adapter

    Hey folks, I am trying to translate an csv file to xml file using Native XSD. My csv files looks like this : 20111013153049,1,1001010199010001,100101019901 20111013153547,1,2001010199010005,200101019901 20111013153946,1,3000000004230001,300000000423

  • FDM crashed after trying to open locations and mappings. Login page error

    Whilst trying to open mappings for a given location, FDM has crashed. We have restarted the FDM service, however despite the service running cannot log into FDM any more. Internet Explorer now displays the following error: Internet Explorer: "Applica