Weblogic.ejbc wants weblogic.home sysproperty in ant - why

I found that I had to add the following 'sysproperty' line to an ant target which
runs weblogic.ejbc:
<target name="ejbjar" depends="jar">
<mkdir dir="${java.class.dir}/${package.dir}/tmp"/>
<java classname="weblogic.ejbc" fork="true" failonerror="true">
<sysproperty key="weblogic.home" value="c:/bea70/weblogic700/server"/>
<classpath>
<path refid="classpathWL"/>
</classpath>
<arg line="${java.class.dir}/${archive}.jar ${java.class.dir}/ejb-${archive}.jar"/>
</java>
</target>
If the line is not there I get an error:
[java] ERROR: Error from ejbc: error in finding weblogic.Home
If the line is there and points to an invalid weblogic.home directory the error is:
[java] ERROR: Error from ejbc: Installation file c:\temp\lib\persistence\persistence.install
does not exist. Could not initialize EJB container managed persistence.
However the file contains only one line:
WebLogic_CMP_RDBMS.xml.
Question: is there a way to specify this value directly to weblogic.ejbc without
the look-up to the file? In my case I would like to do a build on a machine where
weblogic is not installed (but of course weblogic.jar is available). It is trivial
to add the file to the FS somewhere but why bother?

here is my Ant target looks like...
<property name="classpath" value="${lib.ext.dir}/j2ee12.jar;${lib.ext.dir}/weblogic.jar;${lib.ext.dir}/log4j-1.2.9.jar;${lib.ext.dir}/struts.jar;${dest.dir}/${ant.project.name}.jar"/>
<target name="testjar">
<javac srcdir="${src.dir}" destdir="${ejbc.dir}" classpath="${classpath}"/>
<ejbjar srcdir="${dest.dir}" descriptordir="${desc.dir}" basejarname="test" classpath="${classpath}">
<weblogic destdir="${lib.dir}" classpath="${classpath}" oldCMP="false"/>
<include name="**/ejb-jar.xml" />
<exclude name="**/weblogic*.xml" />
<dtd publicid="-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" location="${lib.dir}/dtd/ejb20-jar.dtd"/>
<dtd publicid="-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN" location="${lib.dir}/dtd/weblogic-ejb-jar.dtd"/>
</ejbjar>
</target>
I a not sure where to specify <sysproperty....>
Please revert back if u know the answer.

Similar Messages

  • WebLogic.ejbc vs weblogic.rmic

    [att1.html]

    Aseem Rastogi <[email protected]> writes:
    See examples/iiop/ejb/stateless/cppclient for an example of how to get
    this to work. You have to jump through hoops with VisiBroker.
       I have deployed a stateless EJB in WLS6.1sp1 / NT and I am trying to write a CPP
    Visibroker 4.5 client to acces it...
    The steps i took:
    While doing the ejbc i have given the option -idl by using
    java weblogic.ejbc -iiop -idl -idlDirectory d:\idls -idlVerbose -compiler javac
    d:\lib\my.jar -d d:\testjava\my.jar
    This file generates two IDL files xHome.idl and x.idl, x.idl contains the business method
    of my bean
    and xHome contains the ejbCreate method...
    According to documentation i can use weblogic.rmic to get these same idls however when i
    run
    java weblogic.rmic -idl -idlVerbose -idlDirectory .\idls xBean
    It creates an idl which has no business method in it but has all private variables
    defined in my bean....
    I am confused which idl file i should be using....??? as i understand if there is no
    business method in IDL my client can't call those methods on EJB..The first two are the right ones.
    I thought of going another step and try using both the idls one by one and see but
    while compiling the idl by command
    idl2cpp -I . -namespace -gen_included_files -root_dir .\corba x.idl
    i get
    idl2cpp: (warning)::CORBA::Environment declared ("orb.idl", line 28) but never defined
    idl2cpp: (warning)(references to it will be permitted, but no code will be generated for
    this definition)
    idl2cpp:IDL native type ::CORBA::AbstractBase has no known translation; generated code
    will not be valid
    ******************This is a VisiBroker bug - but I think you can safely ignore them.
    The orb.idl i am using is from VisibrokerFor C++ 4.5
    i tried compiling the orb.idl alone but got the same things..
    has anyone else seen this behaviour or i am doing smthg wrong.???andy

  • Error in weblogic.ejbc while deploying the CMP entity bean.!!!

    Tried to deploy the entity bean[CMP] with the following folder structure.
    examples [package]
    Product.class
    productBean.class
    etc.
    META-INF
    ejb-jar.xml
    weblogic-ejb-jar.xml.
    weblogic-cmp-rdbms-jar.xml
    created a jar..with the following command
    1.jar cvf rgegcmp.jar examples META-INF
    tried to create the stubs and skeletons using weblogic.ejbc command.
    2. java weblogic.ejbc rgegcmp.jar rgegcmp1.jar
    C:\btcomprj\BTCOMPRJ\classes>java weblogic.ejbc rgegcmp.jar rgegcmp1.jar
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.ProductBean which is in
    the classpath. This class should only be located in the ejb-jar file.>
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.ProductHome which is in
    the classpath. This class should only be located in the ejb-jar file.>
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.Product which is in the
    classpath. This class should only be located in the ejb-jar file.>
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.ProductLocalHome which i
    s in the classpath. This class should only be located in the ejb-jar file.>
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.ProductLocal which is in
    the classpath. This class should only be located in the ejb-jar file.>
    <Oct 11, 2004 4:29:29 PM IST> <Warning> <EJB> <010054> <EJB Deployment: Product has a
    class examples.ProductPK which is in th
    e classpath. This class should only be located in the ejb-jar file.>
    ERROR: Error from ejbc: null
    java.lang.NullPointerException
    at
    weblogic.ejb20.deployer.CompositeMBeanDescriptor.getPersistenceUseIdentifier(Composite
    MBeanDescriptor.java:1484)
    at weblogic.ejb20.deployer.CMPInfoImpl.<init>(CMPInfoImpl.java:104)
    at
    weblogic.ejb20.deployer.EntityBeanInfoImpl.<init>(EntityBeanInfoImpl.java:135)
    at
    weblogic.ejb20.deployer.BeanInfoImpl.createBeanInfoImpl(BeanInfoImpl.java:349)
    at
    weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.initializeBeanInfos(MBeanDeploymentInf
    oImpl.java:438)
    at
    weblogic.ejb20.deployer.MBeanDeploymentInfoImpl.<init>(MBeanDeploymentInfoImpl.java:16
    5)
    at weblogic.ejb20.ejbc.EJBCompiler.setupEJB(EJBCompiler.java:151)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:332)
    at weblogic.ejbc20.runBody(ejbc20.java:479)
    at weblogic.utils.compiler.Tool.run(Tool.java:126)
    at weblogic.ejbc.main(ejbc.java:29)
    ERROR: ejbc found errors
    1. want to know why Null pointer exception is thrown by 'weblogic.ejbc'...
    is it indicating an error in my code(bean); .....
    i dont know how to fix the error.
    find the deployments descriptors which i have written for deployment.
    weblogic-ejb-jar.xml
    <?xml version="1.0"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC
    '-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB//EN'
    'http://www.bea.com/servers/wls700/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>Product</ejb-name>
    <jndi-name>rgexample</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    ejb-jar.xml
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
    "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>Product</ejb-name>
    <home>examples.ProductHome</home>
    <remote>examples.Product</remote>
    <local-home>examples.ProductLocalHome</local-home>
    <local>examples.ProductLocal</local>
    <ejb-class>examples.ProductBean</ejb-class>
    <persistence-type>Container</persistence-type>
    <prim-key-class>examples.ProductPK</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>ProductBean</abstract-schema-name>
    <cmp-field>
    <field-name>productID</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>name</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>description</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>basePrice</field-name>
    </cmp-field>
    <query>
    <query-method>
    <method-name>findByName</method-name>
    <method-params>
    <method-param>java.lang.String</method-param>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE name =
    ?1]]>
    </ejb-ql>
    </query>
    <query>
    <query-method>
    <method-name>findByDescription</method-name>
    <method-params>
    <method-param>java.lang.String</method-param>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE description
    = ?1]]>
    </ejb-ql>
    </query>
    <query>
    <query-method>
    <method-name>findByBasePrice</method-name>
    <method-params>
    <method-param>double</method-param>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE basePrice =
    ?1]]>
    </ejb-ql>
    </query>
    <query>
    <query-method>
    <method-name>findExpensiveProducts</method-name>
    <method-params>
    <method-param>double</method-param>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE basePrice >
    ?1]]>
    </ejb-ql>
    </query>
    <query>
    <query-method>
    <method-name>findCheapProducts</method-name>
    <method-params>
    <method-param>double</method-param>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE basePrice < ?1]]>
    </ejb-ql>
    </query>
    <query>
    <query-method>
    <method-name>findAllProducts</method-name>
    <method-params>
    </method-params>
    </query-method>
    <ejb-ql>
    <![CDATA[SELECT OBJECT(a) FROM ProductBean AS a WHERE productID
    IS NOT NULL]]>
    </ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>Product</ejb-name>
    <method-intf>Remote</method-intf>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    weblogic-cmp-rdbms-jar.xml
    <!DOCTYPE weblogic-rdbms-jar PUBLIC
    '-//BEA Systems, Inc.//DTD WebLogic 7.0.0 EJB RDBMS Persistence//EN'
    'http://www.bea.com/servers/wls700/dtd/weblogic-rdbms20-persistence-700.dtd'>
    <weblogic-rdbms-jar>
    <weblogic-rdbms-bean>
    <ejb-name>Product</ejb-name>
    <data-source-name>examples-dataSource-demoPool</data-source-name>
    <table-map>
    <table-name>TORDER</table-name>
    <field-map>
    <cmp-field>productID</cmp-field>
    <dbms-column>PRODUCTID</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>name</cmp-field>
    <dbms-column>NAME</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>description</cmp-field>
    <dbms-column>DESCRIPTION</dbms-column>
    </field-map>
    <field-map>
    <cmp-field>basePrice</cmp-field>
    <dbms-column>BASEPRICE</dbms-column>
    </field-map>
    </table-map>
    </weblogic-rdbms-bean>
    <create-default-dbms-tables>True</create-default-dbms-tables>
    </weblogic-rdbms-jar>

    If you can have a look at a cmp example in the samples that ship with the server. My guess is that the weblogic-ejb-jar.xml file is missing the <persistence-use> element which for 810 would look like:
    <persistence>
    <persistence-use>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>7.0</type-version>
    <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
    </persistence-use>
    </persistence>
    I seem to recall that the elements might be slightly different in structure for the wls700 version of the DTD, so please check that (I cannot, I'm at home and don't have everything here).
    Give that a try and see if it doesn't solve your compilation failure.
    Also, the compilation should not be throwing a null pointer exception in a case like that, I consider that to be a bug.
    -thorick

  • Weblogic.ejbc compiler

    Hi, i've a problem with the boot of the entity beans.
    My entity beans extends a class in which there is a definition of a public variable Long which there isn't defined in the bean but it is in the ejb-jar.xml as cmp-field and in the weblogic-ejb-extensions as attribute map.
    The weblogic.ejbc -i ejb-jar.xml -x weblogic-ejb-extensions.xml doesn't give me exception, but when i boot the application (tmboot -y) i've this log :
    ERROR: While deploying bean it.sella.anagrafe.evento.EventoEJB
    java.lang.NoSuchFieldException: id
    174943.dcsv01!JavaServer.7981: main: EJB_CAT:28: ERROR: While deploying bean it.sella.anagrafe.evento.EventoEJB
    : The EJB Container received weblogic.ejb.common.DeploymentException: EJB_CAT:28: ERROR: While deploying bean
    it.sella.anagrafe.evento.EventoEJB :
    java.lang.NoSuchFieldException: id while setting container managed persistence.
    Could you help me?
    Regards

    Mary Ann Slavin <[email protected]> wrote:
    Error 28 indicates that there is a problem with the deployment descriptor. Check that -- ERROR 28: Make sure the deployable JAR contains a compliant deployment descriptor.
    There are following the two xml files, The EventoBean class, the EntityBeanAdapter class extended by EventoBean and the primary key class DefaultPK
    This is, i think,the better way to an help.
    The problem is in the boot of the application( the same works fine with WLS5.1)
    ejb-jar.xml
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <entity>
         <ejb-name>it.sella.anagrafe.evento.EventoEJB</ejb-name>
         <home>it.sella.anagrafe.evento.EventoHome</home>
         <remote>it.sella.anagrafe.evento.Evento</remote>
         <ejb-class>it.sella.anagrafe.evento.EventoBean</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>it.sella.ejb.DefaultPK</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-field>
         <field-name>id</field-name>
         </cmp-field>
         <cmp-field>
         <field-name>soggettoId</field-name>
         </cmp-field>
         <cmp-field>
         <field-name>compatibleInstanceId</field-name>
         </cmp-field>
         <cmp-field>
         <field-name>compatibleTypeId</field-name>
         </cmp-field>
    <cmp-field>
         <field-name>rightPk</field-name>
         </cmp-field>
         <cmp-field>
         <field-name>value</field-name>
         </cmp-field>
         <cmp-field>
         <field-name>dateValue</field-name>
         </cmp-field>
         <env-entry>
              <env-entry-name>counterHomeName</env-entry-name>
              <env-entry-type>java.lang.String</env-entry-type>
              <env-entry-value>it.sella.counter.CounterHome</env-entry-value>
         </env-entry>
         <resource-ref>
              <res-ref-name>jdbc/clientPool</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
         </resource-ref>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
         <method>
         <ejb-name>it.sella.anagrafe.evento.EventoEJB</ejb-name>
         <method-intf>Remote</method-intf>
         <method-name>*</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    weblogic-ejb-extensions.xml
    <!DOCTYPE weblogic-ejb-extensions SYSTEM "weblogic-ejb-extensions.dtd" >
    <weblogic-ejb-extensions>
    <weblogic-enterprise-bean>
    <ejb-name>it.sella.anagrafe.evento.EventoEJB</ejb-name>
    <weblogic-deployment-params>
    <!-- <max-beans-in-free-pool>20</max-beans-in-free-pool>-->
    <!-- <max-beans-in-cache>1000</max-beans-in-cache>-->
    <!--<idle-timeout-seconds>5</idle-timeout-seconds>-->
    <!-- JNDI name that is associated with this EJB;used for lookup -->
    <jndi-name>it.sella.anagrafe.evento.EventoHome</jndi-name>
    <!-- This is CMP EJB. Specify persistence information -->
    <persistence-store-descriptor>
    <is-modified-method-name>isModified</is-modified-method-name>
         <!--<delay-updates-until-end-of-tx>false</delay-updates-until-end-of-tx>-->
    <!--<db-is-shared>false</db-is-shared>-->
    <persistence-store-jdbc>
    <!-- Pool name is looked up by the EJB source -->
    <pool-name>jdbc/clientPool</pool-name>
    <!-- *** DATABASE INFORMATION SPECIFIC TO INSTALLATION SITE *** -->
    <user>ssil</user>
    <!-- Default password URL is for Oracle 8i-->
    <password>ssil</password>
    <!-- Default driver URL is for Oracle 8i,
    and default instance Beq-Local is used
    -->
    <driver-url>jdbc:oracle:thin:@171.97.1.5:1521:th2o</driver-url>
    <table-name>an_tr_evento</table-name>
    <!-- Default user URL is for Oracle 8i-->
    <!-- CMP Fields and database table column mapping-->
    <attribute-map>
    <attribute-map-entry>
    <bean-field-name>id</bean-field-name>
    <table-column-name>ev_evento_id</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>soggettoId</bean-field-name>
    <table-column-name>ev_soggetto_id</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>compatibleInstanceId</bean-field-name>
    <table-column-name>ev_compatible_instance_id</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>compatibleTypeId</bean-field-name>
    <table-column-name>ev_compatible_type_id</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>value</bean-field-name>
    <table-column-name>ev_value</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>dateValue</bean-field-name>
    <table-column-name>ev_date_value</table-column-name>
    </attribute-map-entry>
    <attribute-map-entry>
    <bean-field-name>rightPk</bean-field-name>
    <table-column-name>ev_right_pk</table-column-name>
    </attribute-map-entry>
    </attribute-map>
    <!-- Finder Specifications -->
    <finder-descriptor>
    <description>
    Find method to get accounts with balance over the parameter.
    </description>
    <method>
    <ejb-name>
    it.sella.anagrafe.documento.DocumentoHome
    </ejb-name>
    <method-name>
    findBySoggettoId(Long long1)
    </method-name>
    </method>
    <query-grammar>
    (= soggettoId $long1)
    </query-grammar>
    </finder-descriptor>
    </persistence-store-jdbc>
    </persistence-store-descriptor>
    </weblogic-deployment-params>
    </weblogic-enterprise-bean>
    </weblogic-ejb-extensions>
    EventoBean class
    package it.sella.anagrafe.evento;
    import it.sella.ejb.EntityBeanAdapter;
    import java.rmi.RemoteException;
    import java.sql.Timestamp;
    public class EventoBean extends EntityBeanAdapter
    public Long soggettoId;
    public Long compatibleInstanceId;
    public Long compatibleTypeId;
    public String value;
    public Timestamp dateValue;
    public Long rightPk;
    public EventoBean()
    protected Long getCounterInitVal()
    return new Long(1000L);
    public Timestamp getDateValue()
    throws RemoteException
    return dateValue;
    public Long getInstanceId()
    throws RemoteException
    return compatibleInstanceId;
    public Long getRightPk()
    throws RemoteException
    return rightPk;
    public Long getSoggettoId()
    throws RemoteException
    return soggettoId;
    public Long getTypeId()
    throws RemoteException
    return compatibleTypeId;
    public String getValue()
    throws RemoteException
    return value;
    public void setDateValue(Timestamp timestamp)
    throws RemoteException
    dateValue = timestamp;
    setModified(true);
    public void setInstanceId(Long long1)
    throws RemoteException
    compatibleInstanceId = long1;
    setModified(true);
    public void setRightPk(Long long1)
    throws RemoteException
    rightPk = long1;
    setModified(true);
    public void setSoggettoId(Long long1)
    throws RemoteException
    soggettoId = long1;
    setModified(true);
    public void setTypeId(Long long1)
    throws RemoteException
    compatibleTypeId = long1;
    setModified(true);
    public void setValue(String s)
    throws RemoteException
    value = s;
    setModified(true);
    EntityBeanAdapter class
    package it.sella.ejb;
    import it.sella.ejb.counter.Counter;
    import it.sella.ejb.counter.CounterGenerationException;
    import it.sella.ejb.counter.CounterHome;
    import it.sella.ejb.counter.CounterPK;
    import it.sella.ejb.link.ILink;
    import java.beans.*;
    import java.io.PrintStream;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.rmi.RemoteException;
    import java.util.*;
    import javax.ejb.*;
    import javax.naming.*;
    import javax.rmi.PortableRemoteObject;
    // Referenced classes of package it.sella.ejb:
    // EnterpriseBeanAdapter, IEJBView, IEJBEntityObject, DefaultPK,
    // IEntityBean, IPrimaryKey
    public abstract class EntityBeanAdapter extends EnterpriseBeanAdapter
    implements IEntityBean
    public Long id;
    private EntityContext entityContext;
    private transient boolean isModified;
    private static transient String counterHomeName = "CounterHome";
    private static transient CounterHome counterHome;
    private transient boolean beanRemovable;
    private transient Counter counter;
    private Class ejbViewClass;
    public EntityBeanAdapter()
    beanRemovable = false;
    protected Long getCounterInitVal()
    return new Long(-1L);
    public void ejbActivate()
    throws RemoteException
    log(3, "ejbActivate (" + this + ")");
    public void ejbLoad()
    throws RemoteException
    log(3, "ejbLoad: (" + this + ")");
    setModified(false);
    public IPrimaryKey ejbCreate(IEJBView ejbView)
    throws RemoteException, CreateException
    log(3, "ejbCreate: (" + this + ") from (" + ejbView + ")");
    ejbCreate();
    setAttributesFromEJBView(ejbView);
    setModified(false);
    return getPrimaryKey();
    public void ejbPostCreate(IEJBView ejbView)
    throws RemoteException, CreateException
    log(3, "ejbPostCreate: (" + this + ") from (" + ejbView + ")");
    public IPrimaryKey ejbCreate()
    throws RemoteException, CreateException
    System.out.println("inside ejbCreate");
    log(3, "ejbCreate: (" + this + ")");
    setPrimaryKeyID(getNextId());
    System.out.println("After setPrimaryKeyID in EBA");
    System.out.println("before defaultvalue setting in EBA with pk val" + getPrimaryKeyID().toString());
    setAttributesWithDefaultValues();
    setModified(false);
    System.out.println("before return in ejbCreate() in EBA with pk val" + getPrimaryKeyID().toString());
    return getPrimaryKey();
    public void ejbPostCreate()
    throws RemoteException, CreateException
    log(3, "ejbPostCreate: (" + this + ")");
    public void setAttributesWithDefaultValues()
    throws CreateException
    public void setAttributesFromEJBView(IEJBView ejbView)
    throws CreateException
    try
    setEJBEntityPropertiesFromEJBView(ejbView);
    catch(InvocationTargetException e)
    e.printStackTrace();
    throw new CreateException(e.getMessage());
    catch(IntrospectionException e)
    e.printStackTrace();
    throw new CreateException(e.getMessage());
    catch(IllegalAccessException e)
    e.printStackTrace();
    throw new CreateException(e.getMessage());
    protected void setEJBEntityPropertiesFromEJBView(IEJBView ejbView)
    throws IllegalAccessException, IntrospectionException, InvocationTargetException
    Class ejbViewClass = ejbView.getClass();
    BeanInfo ejbViewInfo = Introspector.getBeanInfo(ejbViewClass);
    PropertyDescriptor ejbViewProps[] = ejbViewInfo.getPropertyDescriptors();
    for(int n = 0; n < ejbViewProps.length; n++)
    Method ejbViewGetMethod = ejbViewProps[n].getReadMethod();
    if(ejbViewGetMethod == null)
    continue;
    try
    StringBuffer setMethodName = (new StringBuffer("set")).append(ejbViewProps[n].getName());
    setMethodName.setCharAt(3, Character.toUpperCase(setMethodName.charAt(3)));
    Method ejbEntityObjectSetMethod = getClass().getMethod(setMethodName.toString(), new Class[] {
    ejbViewProps[n].getPropertyType()
    Object args[] = new Object[1];
    args[0] = ejbViewGetMethod.invoke(ejbView, new Object[0]);
    ejbEntityObjectSetMethod.invoke(this, args);
    log(3, "method " + setMethodName);
    catch(NoSuchMethodException e)
    log(3, "NoSuchMethodException: " + e.getMessage());
    protected void setEJBViewPropertiesFromEJBEntity(IEJBView ejbView)
    throws IllegalAccessException, IntrospectionException, InvocationTargetException
    Class ejbViewClass = ejbView.getClass();
    BeanInfo ejbViewInfo = Introspector.getBeanInfo(ejbViewClass);
    PropertyDescriptor ejbViewProps[] = ejbViewInfo.getPropertyDescriptors();
    for(int n = 0; n < ejbViewProps.length; n++)
    Method ejbViewSetMethod = ejbViewProps[n].getWriteMethod();
    if(ejbViewSetMethod == null)
    continue;
    try
    StringBuffer getMethodName = (new StringBuffer("get")).append(ejbViewProps[n].getName());
    getMethodName.setCharAt(3, Character.toUpperCase(getMethodName.charAt(3)));
    Method ejbEntityObjectGetMethod = getClass().getMethod(getMethodName.toString(), new Class[0]);
    Object args[] = new Object[1];
    args[0] = ejbEntityObjectGetMethod.invoke(this, new Object[0]);
    ejbViewSetMethod.invoke(ejbView, args);
    log(3, "method " + getMethodName);
    catch(NoSuchMethodException e)
    log(3, e.getMessage());
    public void ejbPassivate()
    throws RemoteException
    log(3, "ejbPassivate (" + this + ")");
    public void ejbRemove()
    throws RemoveException, RemoteException
    log(3, "ejbRemove (" + this + ")");
    if(isBeanRemovable())
    log(3, "<EBA>In ejbRemove : Bean is removable -> going to remove the linked beans(if any)");
    removeLinks();
    log(3, "<EBA>In ejbRemove : links are removed(if any)");
    } else
    throw new RemoveException("Could not Remove EJBean. Possible Cause -> IsBeanRemovable env-entry Property for this bean or its linked beans(Aggregated) in their ejb-jar xml file not set or set as False");
    public void ejbStore()
    throws RemoteException
    log(3, "ejbStore (" + this + ")");
    setModified(false);
    public final boolean isModified()
    return isModified;
    public final void setModified(boolean modified)
    isModified = modified;
    protected final EntityContext getEntityContext()
    return entityContext;
    public final void setEntityContext(EntityContext context)
    throws RemoteException
    InitialContext ctx = null;
    log(3, "setEntityContext (" + this + ")");
    entityContext = context;
    log(3, "In setEntityContext - context set and = " + entityContext.toString());
    try
    ctx = new InitialContext();
    setCounterHomeName((String)ctx.lookup("java:comp/env/counterHomeName"));
    String beanRemovableFlag = (String)ctx.lookup("java:comp/env/isBeanRemovable");
    if(beanRemovableFlag.equalsIgnoreCase("true"))
    setBeanRemovable(Boolean.TRUE.booleanValue());
    else
    if(beanRemovableFlag.equalsIgnoreCase("false"))
    setBeanRemovable(Boolean.FALSE.booleanValue());
    else
    throw new IllegalArgumentException("Could not take the environment entry for IsBeanRemovable ");
    catch(NamingException ne)
    setCounterHomeName("it.sella.counter.CounterHome");
    setBeanRemovable(Boolean.FALSE.booleanValue());
    log(3, "Naming Exception Default Exception");
    finally
    try
    ctx.close();
    catch(Exception exception1) { }
    public final void unsetEntityContext()
    throws RemoteException
    log(3, "unsetEntityContext (" + this + ")");
    entityContext = null;
    protected String getEJBViewClassName(IEntityBean entity)
    String ejbEntityClassName = entity.getClass().getName();
    StringBuffer tmp = new StringBuffer(ejbEntityClassName);
    tmp.replace(ejbEntityClassName.lastIndexOf("Bean"), ejbEntityClassName.length(), "View");
    return tmp.toString();
    private Class getEJBViewClass(IEntityBean entity)
    throws ClassNotFoundException
    if(ejbViewClass == null)
    ejbViewClass = Class.forName(getEJBViewClassName(entity), true, entity.getClass().getClassLoader());
    return ejbViewClass;
    public final IEJBView getEJBView()
    IEJBView ejbView;
    try
    ejbView = (IEJBView)getEJBViewClass(this).newInstance();
    setEJBViewPropertiesFromEJBEntity(ejbView);
    catch(Exception e)
    e.printStackTrace();
    throw new RuntimeException(e.getMessage());
    return ejbView;
    public final String getEJBViewString()
    return getEJBView().toString();
    public String toString()
    return super.toString();
    public final IEJBEntityObject getEJBObject()
    return (IEJBEntityObject)getEntityContext().getEJBObject();
    private Counter getCounter()
    throws CounterGenerationException
    if(counter == null)
    try
    counter = (Counter)PortableRemoteObject.narrow(getCounterHome().findByPrimaryKey(new CounterPK(getHomeInterfaceClassName())), Class.forName("it.sella.ejb.counter.Counter"));
    catch(RemoteException nex)
    throw new CounterGenerationException("Remote exception in getCounter() during findByPrimaryKey" + nex.getLocalizedMessage());
    catch(NamingException nex)
    throw new CounterGenerationException("Naming exception in getCounter() during findByPrimaryKey" + nex.getLocalizedMessage());
    catch(FinderException fex)
    try
    counter = (Counter)PortableRemoteObject.narrow(getCounterHome().create(getHomeInterfaceClassName(), getCounterInitVal()), Class.forName("it.sella.ejb.counter.Counter"));
    catch(CreateException cex)
    throw new CounterGenerationException("Create exception in getCounter() during create - Counter could not be created!!!" + cex.getLocalizedMessage());
    catch(RemoteException nex)
    throw new CounterGenerationException("Remote exception in getCounter() during create - Counter could not be created!!!" + nex.getLocalizedMessage());
    catch(NamingException nex)
    throw new CounterGenerationException("Naming exception in getCounter() - during create - Counter could not be created!!!" + nex.getLocalizedMessage());
    return counter;
    private static CounterHome getCounterHome()
    throws NamingException
    if(counterHome == null)
    Context ctx = new InitialContext();
    counterHome = (CounterHome)ctx.lookup(counterHomeName);
    return counterHome;
    private Long getNextId()
    throws CounterGenerationException
    try
    Long long1 = getCounter().getNextId();
    return long1;
    catch(RemoteException nex)
    nex.printStackTrace();
    throw new CounterGenerationException("Remote exception while calling counter.getNextId()" + nex.getLocalizedMessage());
    public IPrimaryKey getPrimaryKey()
    System.out.println("in getPrimaryKey():" + getPrimaryKeyID());
    return new DefaultPK(getPrimaryKeyID());
    private void setPrimaryKey(IPrimaryKey pk)
    throws IllegalAccessException
    throw new IllegalAccessException("This method cannot be called directly.");
    private String getHomeInterfaceClassName()
    throws RemoteException
    return getEntityContext().getEJBHome().getEJBMetaData().getHomeInterfaceClass().getName();
    public Long getPrimaryKeyID()
    System.out.println("id in getPrimaryKeyId :" + id);
    return id;
    private void setPrimaryKeyID(Long id)
    System.out.println("<<Eba>>setPrimaryKeyID:" + id.toString());
    this.id = id;
    public String getCounterHomeName()
    return counterHomeName;
    private void setCounterHomeName(String newCounterHomeName)
    counterHomeName = newCounterHomeName;
    private Collection getLinks()
    throws RemoveException
    String prefix = "get";
    String suffix = "Link";
    Vector links = new Vector();
    Method beanMethods[] = null;
    try
    beanMethods = getClass().getMethods();
    for(int i = 0; i < beanMethods.length; i++)
    log(3, "<EBA> beanMethods: " + beanMethods.getName());
    if(beanMethods[i].getName().endsWith(suffix) && beanMethods[i].getName().startsWith(prefix))
    ILink curLink = (ILink)beanMethods[i].invoke(this, null);
    links.add(curLink);
    log(3, "<EBA> ILink object " + curLink);
    catch(Exception e)
    log(3, "<EBA> Error in in getLinks()-> " + e.getMessage());
    throw new RemoveException("Error in in getLinks()" + e.getMessage());
    return links;
    protected boolean isBeanRemovable()
    return beanRemovable;
    private void setBeanRemovable(boolean removeFlag)
    beanRemovable = removeFlag;
    private void removeLinks()
    throws RemoveException
    log(3, "<EBA> in removeLinks() -> before getLinks()");
    Collection links = getLinks();
    if(!links.isEmpty())
    log(3, "<EBA> in removeLinks() -> linked objects exists");
    ILink linkToDestroy;
    for(Iterator it = links.iterator(); it.hasNext(); linkToDestroy.destroyLink())
    linkToDestroy = (ILink)it.next();
    DefaultPK class
    package it.sella.ejb;
    // Referenced classes of package it.sella.ejb:
    // IPrimaryKey
    public class DefaultPK
    implements IPrimaryKey
    public Long id;
    public DefaultPK()
    public DefaultPK(Long id)
    setId(id);
    public Long getId()
    return id;
    protected void setId(Long id)
    this.id = id;
    public String toString()
    return "Id=" + getId();
    public int hashCode()
    return getId() == null ? 0 : getId().hashCode();
    public boolean equals(Object obj)
    if(obj != null && (obj instanceof DefaultPK))
    return getId() != null && getId().equals(((DefaultPK)obj).getId());
    else
    return false;

  • Confused about the role of ejbc in Weblogic 7

    Howdy All
    Here is my understanding of the role of ejbc in Weblogic 7:
    * Let's assume I have a JAR containing an EJB (let's say a stateless session bean).
    Let's call this the no-ejbc-JAR.
    1. I run the no-ejbc-JAR through ejbc to create the container-ejbc-JAR which can
    now be deployed in Weblogic.
    2. I can run ejbc against the no-ejbc-JAR to create a client-ejbc-JAR for use
    by clients wishing to access and use the EJB.
    Questions...
    MUST I run the no-ejbc-JAR through ejbc (to create the container-ejbc-JAR) before
    it can be deployed in Weblogic 7?
    If so, why?
    I can sort of see why this may be necessary from the containers perspective, although
    I would have thought the ejbc process could have been automatically applied by
    Weblogic to no-ejbc-JARs being deployed.
    But I am confused as to why ejbc would need to be used to create a client-ejbc-JAR.
    From the client's perspective, isn't it simply enough to have the no-ejbc-JAR
    (or a subset of the no-ejb-JAR) containing the EJB home and remote interfaces
    (along with any non-ejbc generated support classes)? For use by the client, why
    would it be necessary to run the no-ejbc-JAR through ejbc to create a client-ejbc-JAR?
    Or do I have an incorrect understanding of the role of ejbc?
    Thanks,
    Rob

    Hello Rob,
    I will try to clarify a couple of your concerns. First of all, if your EJB jar
    contains CMP 2.0 entity beans, the underlying JDBC implementations must be generated
    for your respective abstract classes of the entity beans. EJBC will generate this
    for you automatically. Also, the EJBC utility generates all of the other necessary
    server classes that WebLogic requires for deploying your EJBs (such as custom
    code for handling transactions, security, and other EJB services). When your EJB
    utilizes remote home/component interfaces, the utility will also generate all
    of the necessary client-side proxy and server-side byte code by running the RMI
    compiler on your EJBs. In addition to the above code generation that takes place,
    EJBC also checks all of your EJBs and makes sure that they are written according
    to the EJB specification. This way you will always be sure that your EJBs will
    be deployable on BEA WebLogic if EJBC returns with no error messages. You also
    asked if EJBC must be run manually before deploying the EJBs. If you run your
    application in exploded directory format, WebLogic will automatically invoke the
    EJBC utility prior to deploying your EJBs. Please refer to the links below for
    more information about the EJBC utility as well as deploying your application
    in exploded directory format:
    http://edocs.bea.com/wls/docs70/ejb/EJB_utilities.html#1075296
    http://edocs.bea.com/wls/docs70/programming/deploying.html#1125152
    Also, feel free to examine the code that EJBC generates to gain a better feel
    for what's happening behind the scenes. Also, please be aware that ejbc has been
    deprecated in WebLogic 8.1, in favor of the appc utility:
    http://edocs.bea.com/wls/docs81/ejb/EJB_tools.html#1096936
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Rob Young" <[email protected]> wrote:
    >
    Howdy All
    Here is my understanding of the role of ejbc in Weblogic 7:
    * Let's assume I have a JAR containing an EJB (let's say a stateless
    session bean).
    Let's call this the no-ejbc-JAR.
    1. I run the no-ejbc-JAR through ejbc to create the container-ejbc-JAR
    which can
    now be deployed in Weblogic.
    2. I can run ejbc against the no-ejbc-JAR to create a client-ejbc-JAR
    for use
    by clients wishing to access and use the EJB.
    Questions...
    MUST I run the no-ejbc-JAR through ejbc (to create the container-ejbc-JAR)
    before
    it can be deployed in Weblogic 7?
    If so, why?
    I can sort of see why this may be necessary from the containers perspective,
    although
    I would have thought the ejbc process could have been automatically applied
    by
    Weblogic to no-ejbc-JARs being deployed.
    But I am confused as to why ejbc would need to be used to create a client-ejbc-JAR.
    From the client's perspective, isn't it simply enough to have the no-ejbc-JAR
    (or a subset of the no-ejb-JAR) containing the EJB home and remote interfaces
    (along with any non-ejbc generated support classes)? For use by the client,
    why
    would it be necessary to run the no-ejbc-JAR through ejbc to create a
    client-ejbc-JAR?
    Or do I have an incorrect understanding of the role of ejbc?
    Thanks,
    Rob

  • Usage of weblogic.ejbc

    Hi Guys,
    Well i am trying to use weblogic.ejbc to generate the ejb container specific code and create a new jar file which i can deploy.
    But this command is throwing the following error shown below
    The jar file contains the ejb class files and the 2 xml files [ejb-jar.xml and weblogic-ejb-jar.xml].
    ERROR: ejb-jar file: /opt/.../frbom.jar could not be opened
    Could anyone please let me know the possible reason for this error....
    Thanking you
    regards
    richi
    .

    Hey,
    Thanks for the immediate reply
    I used the weblogic.ejbc command on a jar file containing my ejb classes[home,remote,bean],other classes and the required descriptors[ejb-jar.xml,weblogic-ejb-jar.xml]
    to be precise i used the following command
    prompt> java weblogic.ejbc /opt/.../frbom.jar output.jar
    but this is throwing me an error
    ERROR: ejb-jar file: /opt/.../frbom.jar could not be opened
    What could be the possible reason??
    Thank you
    Regards
    Richi

  • Error running weblogic.ejbc with Toplink 10G

    Hi.
    I'm making some tests in order to move to Weblogic 8.1 and Toplink 10g in the near future, but I'm having some problems with my tests:
    I have built a simple entity bean based on the AccountBean used in the singlebean example from Oracle and I'm seeing this error:
    java.lang.RuntimeException: Exception [EJB - 10036]: Error during code generation: [Exception [TOPLINK-14016] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.ejb.DeploymentException
    Exception Description: An error occurred while setting up the project: [Exception [TOPLINK-43] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: Missing class for indicator field value [toplink:ejbql-call] of type [class java.lang.String].
    Descriptor: XMLDescriptor(oracle.toplink.queryframework.Call --> [DatabaseTable(call)])]
    Internal Exception: Exception [TOPLINK-43] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: Missing class for indicator field value [toplink:ejbql-call] of type [class java.lang.String].
    Descriptor: XMLDescriptor(oracle.toplink.queryframework.Call --> [DatabaseTable(call)])]
    server stacktrace is:
    Local Exception Stack:
    Exception [TOPLINK-14016] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.ejb.DeploymentException
    Exception Description: An error occurred while setting up the project: [Exception [TOPLINK-43] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: Missing class for indicator field value [toplink:ejbql-call] of type [class java.lang.String].
    Descriptor: XMLDescriptor(oracle.toplink.queryframework.Call --> [DatabaseTable(call)])]
    Internal Exception: Exception [TOPLINK-43] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: Missing class for indicator field value [toplink:ejbql-call] of type [class java.lang.String].
    Descriptor: XMLDescriptor(oracle.toplink.queryframework.Call --> [DatabaseTable(call)])
    at oracle.toplink.ejb.DeploymentException.errorCreatingProject(DeploymentException.java:111)
    at oracle.toplink.internal.ejb.cmp.CmpProjectReader.readProject(CmpProjectReader.java:76)
    at oracle.toplink.internal.ejb.cmp.ProjectDeployment.readProject(ProjectDeployment.java:219)
    at oracle.toplink.internal.ejb.cmp.ProjectDeployment.getProject(ProjectDeployment.java:208)
    at oracle.toplink.internal.ejb.cmp.PersistenceManagerBase.generateBeanSubclass(PersistenceManagerBase.java:176)
    at oracle.toplink.internal.ejb.cmp.wls.WlsCMPCodeGenerator.codeGenSubclass(WlsCMPCodeGenerator.java:51)
    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 weblogic.utils.compiler.CodeGenerator.processAt(CodeGenerator.java:648)
    at weblogic.utils.compiler.CodeGenerator.parse(CodeGenerator.java:587)
    at weblogic.utils.compiler.CodeGenerator.parse(CodeGenerator.java:519)
    at weblogic.utils.compiler.CodeGenerator.generateCode(CodeGenerator.java:336)
    at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:238)
    at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:197)
    at weblogic.ejb20.ejbc.EJB20CMPCompiler.generatePersistenceSources(EJB20CMPCompiler.java:88)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:245)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:397)
    at weblogic.ejbc20.runBody(ejbc20.java:519)
    at weblogic.utils.compiler.Tool.run(Tool.java:146)
    at weblogic.utils.compiler.Tool.run(Tool.java:103)
    at weblogic.ejbc.main(ejbc.java:29)
    This is the part of the XML that I think causes the problem:
    <opm:query name="findMessageByMessageKey" xsi:type="toplink:read-object-query">
    <opm:arguments>
    <opm:argument name="1">
    <opm:type>java.lang.Integer</opm:type>
    </opm:argument>
    <opm:argument name="2">
    <opm:type>java.lang.Integer</opm:type>
    </opm:argument>
    </opm:arguments>
    <toplink:bind-all-parameters>false</toplink:bind-all-parameters>
    <toplink:cache-statement>false</toplink:cache-statement>
    <toplink:call xsi:type="toplink:ejbql-call">
    <toplink:ejbql>SELECT OBJECT(menssage) FROM MessageBean message WHERE menssage.codMessage = ?1 AND mensaje.codIdiom = ?2</toplink:ejbql>
    </toplink:call>
    <toplink:reference-class>test.data.MessgeBean</toplink:reference-class>
    <toplink:cache-usage>conform</toplink:cache-usage>
    </opm:query>
    Of course I don't see any problem with it.
    After that I tried to run the examples but I'm seing the same error.
    I must say that I'm not using the ANT scripts but doing it "by hand" building classes and making the naked jar for the bean in order to run ejbc on it, I'm pretty confident I am not missing anything.
    I would like to know where the "ejbql-call" definition is as I have tried to find it with a grep in all the Toplink structure tree with no success. It is not clear to me how the xsd processor would find it's definition with just the: xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink" instruction present in the header of my Message.xml file (modified based on the Account.xml of the examples).
    I'm using Sun's JDK 1.4.2 and my $CLASSPATH is:
    /opt/oracle/toplink10g/toplink/jlib/toplink.jar:/opt/oracle/toplink10g/lib/xmlparserv2.jar:/opt/oracle/toplink10g/jdbc/lib/classes12.zip:/opt/bea/wlserver8.1sp1/weblogic8.1/server/lib/weblogic.jar
    Any idea?
    Thanks in advance.
    Ignacio.

    Hi.
    Thanks I tried it and I don't get no more that message. Instead I get this stack trace:
    java.lang.RuntimeException: Exception [EJB - 10036]: Error during code generation: [Exception [TOPLINK-14016] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.ejb.DeploymentException
    Exception Description: An error occurred while setting up the project: [Exception [TOPLINK-106] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [setAllQueries] on the object is throwing an exception.
    Argument: [[ReadObjectQuery(test.datos.MensajeBean), ReadObjectQuery(test.datos.MensajeBean)]]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.ox.CompositeCollectionMapping[queries]
    Descriptor: XMLDescriptor(oracle.toplink.publicinterface.DescriptorQueryManager --> [DatabaseTable(query-policy)])]
    Internal Exception: Exception [TOPLINK-106] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [setAllQueries] on the object is throwing an exception.
    Argument: [[ReadObjectQuery(test.datos.MensajeBean), ReadObjectQuery(test.datos.MensajeBean)]]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.ox.CompositeCollectionMapping[queries]
    Descriptor: XMLDescriptor(oracle.toplink.publicinterface.DescriptorQueryManager --> [DatabaseTable(query-policy)])]
    server stacktrace is:
    Local Exception Stack:
    Exception [TOPLINK-14016] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.ejb.DeploymentException
    Exception Description: An error occurred while setting up the project: [Exception [TOPLINK-106] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [setAllQueries] on the object is throwing an exception.
    Argument: [[ReadObjectQuery(test.datos.MensajeBean), ReadObjectQuery(test.datos.MensajeBean)]]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.ox.CompositeCollectionMapping[queries]
    Descriptor: XMLDescriptor(oracle.toplink.publicinterface.DescriptorQueryManager --> [DatabaseTable(query-policy)])]
    Internal Exception: Exception [TOPLINK-106] (TopLink (WLS CMP) - 10g (10.0.3) Developer Preview (Build 030902.1548)): oracle.toplink.exceptions.DescriptorException
    Exception Description: The method [setAllQueries] on the object is throwing an exception.
    Argument: [[ReadObjectQuery(test.datos.MensajeBean), ReadObjectQuery(test.datos.MensajeBean)]]
    Internal Exception: java.lang.reflect.InvocationTargetException
    Target Invocation Exception: java.lang.NullPointerException
    Mapping: oracle.toplink.ox.CompositeCollectionMapping[queries]
    Descriptor: XMLDescriptor(oracle.toplink.publicinterface.DescriptorQueryManager --> [DatabaseTable(query-policy)])
    at oracle.toplink.ejb.DeploymentException.errorCreatingProject(DeploymentException.java:111)
    at oracle.toplink.internal.ejb.cmp.CmpProjectReader.readProject(CmpProjectReader.java:76)
    at oracle.toplink.internal.ejb.cmp.ProjectDeployment.readProject(ProjectDeployment.java:219)
    at oracle.toplink.internal.ejb.cmp.ProjectDeployment.getProject(ProjectDeployment.java:208)
    at oracle.toplink.internal.ejb.cmp.PersistenceManagerBase.generateBeanSubclass(PersistenceManagerBase.java:176)
    at oracle.toplink.internal.ejb.cmp.wls.WlsCMPCodeGenerator.codeGenSubclass(WlsCMPCodeGenerator.java:51)
    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 weblogic.utils.compiler.CodeGenerator.processAt(CodeGenerator.java:648)
    at weblogic.utils.compiler.CodeGenerator.parse(CodeGenerator.java:587)
    at weblogic.utils.compiler.CodeGenerator.parse(CodeGenerator.java:519)
    at weblogic.utils.compiler.CodeGenerator.generateCode(CodeGenerator.java:336)
    at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:238)
    at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:197)
    at weblogic.ejb20.ejbc.EJB20CMPCompiler.generatePersistenceSources(EJB20CMPCompiler.java:88)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:245)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:397)
    at weblogic.ejbc20.runBody(ejbc20.java:519)
    at weblogic.utils.compiler.Tool.run(Tool.java:146)
    at weblogic.utils.compiler.Tool.run(Tool.java:103)
    at weblogic.ejbc.main(ejbc.java:29)
    What I don't understand is: if examples include that toplink:ejbql-call it should be declared into the xsd isn't it? It will be included in the future (final) release then?
    Thanks again.
    Ignacio.

  • Error while creating stub and skel for bean using ejbc from weblogic

    I had created a sample ejb , home remote and bean every thing is ok.....i have generated the configuration xml files using the marathon tool in weblogic.....but when i perform ejbc ...
    d:\>java weblogic.ejbc temp.jar sample.jar
    During the compilation the compiler is raising an error stating :
    ERROR: Error creating descriptor from jar file temp.jar:
    ERROR: Error from ejbc: [EJB:010120]Error: The deployment descriptor 'META-INF/ejb-jar.xml' was not found in 'temp.jar'. Please add this file to the JAR and try again
    it produces the above error........in linux fedora......
    can any body solve my problem..........

    its solved ......
    actually linux os is very much case sencitve........asi was trying command on the fat file system which i am accesing from linux is the culprit over here......
    i copied the same thing to the linux ext system it worked..............

  • Weblogic.ejbc client.jar

    weblogic.ejbc creates a client.jar when run from command prompt but when called from ant tool it does not create client.jar

    Hi Arvind,
    Do you get any errors when calling ejbc from ant?
    Regards,
    Slava Imeshev
    "Arvind Naik" <[email protected]> wrote in message
    news:[email protected]..
    weblogic.ejbc creates a client.jar when run from command prompt but whencalled from ant tool it does not create client.jar

  • Weblogic.ejbc issue in 5.1

    Hi,I use weblogic 5.1I tried to generate the server skels and stubs with weblogic.ejbc.its giving me an exception "File not found weblogic.ejb20..."But this package comes with weblogic.jar in 6.0 not in 5.1.Do i miss something in classpath for 5.1Please help me out of this.Thanks,Jegan G Karunakaran

    I believe the solution is to ignore the message. It's looks nasty but it is harmless.
    Probably got left in the release code by accident. I think SP9 does not print
    the message.
    Mike
    "Steve Wanhella" <[email protected]> wrote:
    >
    What is the proper way to cross link EJB entity beans in 5.1? Ive
    tried
    every possible combination of (ejb-ref) in the ejb-jar.xml and
    (ejb-resource-ref) in weblogic-ejb-jar.xml and when i deploy the beans.
    Linked references fail and i get : **** not in archive $$$. It doesnt
    crash
    however and the beans seem to deploy, but i really want to stabalize
    this.
    Is there some way to force ONE classloader to deploy all the beans,
    or
    do i simply need to dump more of these ejb-ref ' s everywhere??
    thank you for any assistance.
    Steve Wanhella

  • Ant task for creating a new weblogic domain in weblogic 10.3

    Hi,
    Can anybody help me in writing an ant task in build.xml for creating a new weblogic domain in weblogic 10.3, like as in <target name="new-domain">
         <echo message=""/>
         <echo message="Attempting to create new domain:"/>
         <delete dir="C:\bea\user_projects\domains" />
         <mkdir dir="C:\bea\user_projects\domains"/>
         <wlserver dir="C:\bea\user_projects\domains" domainname="mydomain"
         host="127.0.0.1" port="7001"
         generateConfig="true" servername="AdminServer" username="weblogic"
         password="weblogic" action="start"/>
         </target>
    Please suggest me adding something to the above in order to create the domain successfully.

    Hi,
    Can anybody help me in writing an ant task in build.xml for creating a new weblogic domain in weblogic 10.3, like as in <target name="new-domain">
         <echo message=""/>
         <echo message="Attempting to create new domain:"/>
         <delete dir="C:\bea\user_projects\domains" />
         <mkdir dir="C:\bea\user_projects\domains"/>
         <wlserver dir="C:\bea\user_projects\domains" domainname="mydomain"
         host="127.0.0.1" port="7001"
         generateConfig="true" servername="AdminServer" username="weblogic"
         password="weblogic" action="start"/>
         </target>
    Please suggest me adding something to the above in order to create the domain successfully.

  • The code generated by EJBC in Weblogic 5.1 is wrong!

    I have a container managed bean that has a primary key named
    productLicenseId as follows:
    public class ProductLicenseBean implements EntityBean
    public int productLicenseId;
    I had this code running in Weblogic 4.5.1 and converted it to EJB 1.1
    (now I use java.lang.Integer for the primary key class) and attempted to
    build it using WebLogic 5.1. I built your container managed example
    (AccountBean), which built fine (it is clear why your example did not
    have the problem mine did- the primary key is java.lang.String). After
    that, I tried to build my container managed bean, but without success.
    Here is a description of my problem:
    After trying to compile my simple container-managed program using EJBC
    in Weblogic 5.1, I get the following error:
    ProductLicenseBeanEOImpl.java:56: Incompatible type for =. Can't convert
    int to java.lang.Integer
    pk = bean.productLicenseId;
    ProductLicenseBeanEOImpl.java is a class that was generated by EJBC. It
    is clear that this code is incorrect! The generated code (pk =
    bean.productLicenseId) attempts to assign the primary key in the
    ProductLicenseBean (an int) to a java.lang.Integer (pk is of type
    java.lang.Integer), which is wrong! The source code generated by EJBC is
    wrong!
    Do you have a bug fix for this, or is there something I'm just not
    getting?? !!
    I should be able to use a java.lang.Integer as a primary key.
    Thanks much for your help.
    Tim Kimmet, [email protected]
    [timk.vcf]

    I had the same problem. I had used the deployer tool and had specified a
    primary key class AND a primary key field "ID".
    This had put an extra tag in the ejb-jar.xml file <persistence field> which
    I hadn't seen before.
    Changing the primary key field to "none" fixed caused other problems to show
    up in the deployer tool (finders). I had to redo the
    deployer project from scratch, this time keeping the primary key field to
    "none" and it worked.
    Tim Kimmet <[email protected]> wrote in message
    news:[email protected]..
    I have a container managed bean that has a primary key named
    productLicenseId as follows:
    public class ProductLicenseBean implements EntityBean
    public int productLicenseId;
    I had this code running in Weblogic 4.5.1 and converted it to EJB 1.1
    (now I use java.lang.Integer for the primary key class) and attempted to
    build it using WebLogic 5.1. I built your container managed example
    (AccountBean), which built fine (it is clear why your example did not
    have the problem mine did- the primary key is java.lang.String). After
    that, I tried to build my container managed bean, but without success.
    Here is a description of my problem:
    After trying to compile my simple container-managed program using EJBC
    in Weblogic 5.1, I get the following error:
    ProductLicenseBeanEOImpl.java:56: Incompatible type for =. Can't convert
    int to java.lang.Integer
    pk = bean.productLicenseId;
    ProductLicenseBeanEOImpl.java is a class that was generated by EJBC. It
    is clear that this code is incorrect! The generated code (pk =
    bean.productLicenseId) attempts to assign the primary key in the
    ProductLicenseBean (an int) to a java.lang.Integer (pk is of type
    java.lang.Integer), which is wrong! The source code generated by EJBC is
    wrong!
    Do you have a bug fix for this, or is there something I'm just not
    getting?? !!
    I should be able to use a java.lang.Integer as a primary key.
    Thanks much for your help.
    Tim Kimmet, [email protected]

  • Urgent pls ! Error during Container code generation using weblogic.ejbc

    HI all,
    Iam using weblogic6.1 and EJB 2.0. I have to communicate session and entity ejb's and iam using local interfaces for entity beans and access the entity beans thru session ejb's. After creating my programs and jar files, when i use java weblogic.ejbc code.jar Containercode.jar, i get the following error....
    --------- Error -------------
    C:\Sathish\Ejb\wl6.1\LocalInterfaces\Code\ejbcgen\CodeBean_tvm2r0_ELOImpl.java:34
    0: cannot resolve symbol
    symbol : constructor EJBException (java.lang.String,java.lang.Exception)
    location: class javax.ejb.EJBException
    throw new javax.ejb.EJBException("Unexpected exception in " +
    ^
    1 errors
    Exec failed .. exiting
    Can anyone say why this error is occuring......
    regards
    sathish

    In J2EE 1.3, EJBException added a third constructor of the form:
    EJBException(java.lang.String, java.lang.Exception)
    WebLogic contains a file called j2ee12.jar in the lib directory that when placed in front of the classpath, disables J2EE 1.3 features and replaces them with J2EE 1.2. In J2EE 1.2 this constructor did not exist.
    So in order to compile using J2EE 1.3 features, you must make sure that j2ee12.jar is not in your classpath.

  • Configure weblogic on a multi-home machine

    I want to run weblogic on a host with 2 IP addresses, and I want weblogic to listen to both ip addresses using the default port (7601).
    On the admin console (under configuration-general), I tried enter two ip addresses on the "listen address" but after doing so, I cannot start weblogic.
    (I want to do this to run Resonate load-balancer software - resonate creates a virtualIP addr besides my real IP addr, and weblogic needs to listen on both)
    Thanks

    i found the solution, instead of entering 2 IP adresses, just blank it out - that way it will bind to ANY addr avail on the local machine.
    Thnaks
    Henry

  • Weblogic.ejbc - ClassNotFoundException

    Executing the following
    1. cd c:\weblogic
    2. setenv
    3. java weblogic.ejbc -classpath
    C:\VisualCafeEE\Projects\Util\CLASSES;%classpath%;
    C:\VisualCafeEE\Projects\JspBO\_JspBO.jar
    C:\VisualCafeEE\Projects\JspBO\JspBO.jar
    and getting ClassNotFoundException when trying to generate deployment JAR if
    I put all classes from the C:\VisualCafeEE\Projects\Util\CLASSES in to the
    _JspBO.jar then it works fine.
    The stdErr is attached
    What am I doing wrong? Please help.
    [error.txt]

    Yes, it works fine with wlfullclient.jar. But I am trying to avoid forcing the user to get a 60MB jar file to run 10 lines of code. Since my other client/ejb works fine with only wlthint3client.jar, I'm trying to figure out what is different with this client/ejb.

Maybe you are looking for

  • Free upgrade for purchase within a few days?

    I came across this today. http://www.redmondpie.com/apple-slashes-price-of-macbook-pro-with-retina-display -updates-processors/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ RedmondPie+%28Redmond+Pie%29 So if I purchased a Macbook 15" R

  • Can't send Mail on Mac Mail, but can on Entourage - what am I doing wrong?

    Aggg. Help. I have been using Entourage on my Macs, and have decided to switch to Mac Mail. I have multiple accounts for my websites on my dedicated server. I use standard ports for sending and receiving mail - and, as it is my server, I can dictate

  • Invisble child window pane

    Hi,         I'm currently doing a project which has parent and child vi concept. When i was searching for few examples related to the concept, i came across this example. In this example i'm not able to drag if the window pane is invisble, meaning th

  • Print issues when printing a muse page from internet explorer and opera

    When I try to print a page on my muse site in internet explorer or opera it goes a little crazy.  Everything is huge and thrown all over the place.  When printing the same pages in firefox or safari it is fine.  Any help?

  • Chage property classification key in as02 and populating the useful life

    Hi. I have maintained values for PCK and useful lifes in one Ztable and written code in the user exit ZXAISU04  to change the useful llife based on the property classificaion key defined in the table.  When i am creating assets, it was updating the u