Deploytool not deleting fields in ejb-jar.xml and sun-cmp-mappings.xml

Java(TM) 2 Platform, Enterprise Edition 1.4 SDK Developer Release deploytool
This situation was found on a simple, but original application using CMP EJB's. The database is MySQL using numeric id's and foreign keys.
I changed some fields in the database and went through the usual 14 attempts at getting deploytool to recognize a new schema without success. The one thing that is noticed is that when I tried to open the CMP display in the Entity selection the tool would not show any data, also it appears to lockup; however, if you select EJB in the choice box of the upper left you can get the view to close.
In desperation (mind you decoding machine generated XML is NOT my favorite activity) I looked at the descriptor viewer and notice fields existed in the descriptor that were deleted in the database. The tool had read the schema because the new fields were also present.
In sun-cmp-mappings.xml the old <cmp-field-mapping> definitions were still present. and in ejb-jar.xml the <query> and <cmp-field> were still present.
After deleting them out -- happy, happy, happy, joy, joy, joy. Deploytool accepted the new schema (keeping all the proper old stuff correctly. yea!!!) and a simple create mapping process brought the beans and database into sync.
I didn't want to report a bug, since I am actually new to EJB's so if anybody wishes to comment please do. I just wanted to provide a heads up in case this was something not noticed.
BTW I'm a recent expert at EJB's anybody got a job? :-)

Have you tried to unmap your fields and relationships?
Go through all your enterprise beans in the CMP Database window and click Unmap All until the Persistent Field Mappings table is empty of mappings. Then click Create Database Mappings, select the new schema, and verify the fields and relationships were mapped. This should clear out any old field mappings.
-Ian Evans

Similar Messages

  • JAVA Proxy :: Exception in ejb-jar.xml in NWDS

    Hi All
    I am getting exception while Importing (Inbound) JAVA Proxy ZIP file in NWDS, ejb-jar.xml shows the red cross & when I double click on it got following error -->
    The content of element type "ejb-jar" is incomplete, it must match "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,relationships?,assembly-descriptor?,ejb-client-jar?)".
    I already add the following JAR files in class-path -->
    aii_proxy_xirt.jar
    aii_msg_runtime.jar
    aii_utilxi_misc.jar
    guidgenerator.jar
    One different thing I also notice is that after adding these JAR files in classpath I am not getting my Inbound Interface BEAN under EJB candidates.
    Also nothing is visible under ejbModule usually it shows 4 JAVA files & one template file.
    As a solution I tried searching in google & forum for above exception, most threads suggest to add the Beans to xml files but I am not getting my interface Bean under EJB candidates.
    I also tried reloading all the external JAR files again from System but still same issue.
    Also within the same NWDS one another version of EJB is working fine but I worked on it 6months back, I tried copy its contents to ejb-jar.xml source code but then also nothing happens.
    I am using NWDS Version: 7.0.10
    Can you pls. suggest & let me know what further information I can provide from my side which can help you to investigate it.
    Regards
    Lalit

    hi,
    Your are using server java proxy.
    You can use some other jar files apart from what you are using,.
    ejb20.jar
    exception.jar
    sapj2eeclient.jar
    and after importing your zip file (create a ejb project first ,then add the zar files and then click on the ejbModule and then import your zip file ) close and open your project.
    Do not directly click on ejb-jar.xml.Click on ejbModule and import the .zip file.
    then save your .template file in ejbModule as a .java project.
    then there should not be any error.
    you can refer
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702
    regards,
    ujjwal kumar

  • Ejb-jar.xml and orion-ejb-jar.xml configuration issue

    Chris,
    We have an application that uses the Oracle 10g Application Server and WebSphere MQ v5.3 w/ fixpack 9.
    Our application is a J2EE messaging system which essentially consists of Message Driven Beans, the EJB
    realization of the J2EE Java Message Service (JMS) API. Our application has Message Driven Beans which
    listen to queues and send messages to queues -- a simple messaging system. Currently we can listen to queues, but
    cannot send messages to queues in the Oracle 10g Application Server environment.
    Any J2EE application server has its own implementation of Java Naming Directory Interface (JNDI) API that
    deployed J2EE applications utilize to lookup resources such as Data Sources, JMS Destinations (i.e. MQ Queue),
    JMS QueueConnectionFactories (i.e. MQ QManagers).
    Our application uses the 3rd party JMS Provider, WebSphere MQ.
    MQ ships with a JMSAdmin tool which allows one to create JMS administered objects (i.e. objects a java
    application searches for in some JNDI directory) that reside in some JNDI context. We create a JNDI context for
    MQ resources, queues and QManagers. We configure the MQ provided
    JMSAdmin tool with two property name/value pairs:
    PROVIDER_URL=file:/opt/mqm/JNDI-Directory
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
    A resultant .bindings file is created in /opt/mqm/JNDI-Directory which represents our JDNI context
    containing our JMS administered objects. A standalone java application that needs to directly access this
    JNDI context can simply conduct a JNDI lookup on the following context: "java:comp/resource/MQSeries/". An
    example of how a standalone application would lookup a JMS administered object named "qNumber1" would be to
    lookup "java:comp/resource/MQSeries/qNumber1". This lookup would result in the standalone java application
    having a JMS reference to an MQ Queue.
    There is a major difference in how an enterprise EJB application deployed into a J2EE Container (Oracle 10g App Server)
    conducts a JNDI lookup on a 3rd party resource such as MQ as a JMS Provider. A typical EJB application deployed
    into a J2EE container as an .ear (enterprise archive) file has implicit access to the application server's own
    JNDI context. This JNDI context is usually "java:comp/env/". Looking up the Application Server's own Data Source or
    it's own JMS Resources is easy. An application that needs references to these Application Server provided resources
    simply conducts a lookup for "java:comp/env/jms/someQ" or "java:comp/env/jdbc/myDataSource".
    The problem we face is mapping our MQ JNDI context to the Oracle App Server's own JNDI context. We believe this is
    accomplished through mappings defined in both the ejb-jar.xml (EJB Descriptor) and the application server specific
    counterpart, orion-ejb-jar.xml. Note that Oracle 10g Application Server uses the popular orion J2EE container for
    hosting J2EE enterpise applications.
    Our Message Driven Beans (MDBs)currently listen to the Queue at the JNDI location "prodQ". Our problem is that we cannot
    get our MDB to send messages to any queues. Note that the MQ implementation of the queues and Queue Managers work
    flawlessly with standalone java applications. It's safe to say that the MQ objects are working.
    We are looking for a solid example of how the ejb-jar.xml and the orion-ejb-jar.xml map 3rd party JMS provider
    JNDI locations to the App Server's JNDI context.
    Below is how we have attempted to configure our own ejb-jar.xml and orion-ejb-jar.xml:
    ejb-jar.xml begin >>>>>>>>>>>>>>><?xml version = '1.0' encoding = 'UTF-8'?>
    <!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>
    <display-name>Production Message Driven Bean</display-name>
    <enterprise-beans>
    <message-driven>
    <display-name>prodMdb</display-name>
    <ejb-name>prodMdb</ejb-name>
    <ejb-class>message.handler.AIDMSMessageConsumerBean</ejb-class>
    <transaction-type>Bean</transaction-type>
    <message-driven-destination>
    <destination-type>javax.jms.Queue</destination-type>
    </message-driven-destination>
         <resource-ref>
    <res-ref-name>prodQCF</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
         <resource-ref>
    <res-ref-name>prodQ</res-ref-name>
    <res-type>javax.jms.Queue</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
                   <resource-ref>
    <res-ref-name>prodR</res-ref-name>
    <res-type>javax.jms.Queue</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    </message-driven>
    </enterprise-beans>
    </ejb-jar>
    <<<<<<<< ejb-jar.xml end <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    begin orion-ejb-jar.xml >>>>>>>>>>>>>>>>>>>>>>>>>>><orion-ejb-jar>
    <enterprise-beans>
    <message-driven-deployment name="prodMdb" connection-factory-location="java:comp/resource/MQSeries/prodQCF" destination-location="java:comp/resource/MQSeries/prodR">
              <resource-ref-mapping location="prodQ" name="prodQ">     
                   <lookup-context location="java:comp/resource/MQSeries/" >
                        <!-- <context-attribute name="java.naming.factory.initial"
                             value="com.sun.jndi.fscontext.RefFSContextFactory" /> -->
                   </lookup-context>
              </resource-ref-mapping>
              <resource-ref-mapping location="prodR" name="prodR">     
                   <lookup-context location="java:comp/resource/MQSeries/" >
                        <!-- <context-attribute name="java.naming.factory.initial"
                             value="com.sun.jndi.fscontext.RefFSContextFactory" /> -->
                   </lookup-context>
              </resource-ref-mapping>
         </message-driven-deployment>
    </enterprise-beans>
    </orion-ejb-jar>
    <<<<<<<<< end orion-ejb-jar.xml <<<<<<<<<<<<<<<<<<<<<<<<

    If you look at the contents of a deployment plan (Plan.xml) when you have it generated
    <deployment-plan ...>
      <module-override>
        <module-name>ejb.jar</module-name>
        <module-type>ejb</module-type>
        <module-descriptor external="true">
          <root-element>weblogic-ejb-jar</root-element>
          <uri>META-INF/weblogic-ejb-jar.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>ejb-jar</root-element>
          <uri>META-INF/ejb-jar.xml</uri>
        </module-descriptor>
        <module-descriptor external="true">
          <root-element>persistence-configuration</root-element>
          <uri>META-INF/persistence-configuration.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>persistence</root-element>
          <uri>META-INF/persistence.xml</uri>
        </module-descriptor>
      </module-override>
    </deployment-plan>You can see which files can be external and which can be not. The weblogic-ejb-jar.xml can be external
    but in this case you need a deployment plan to point weblogic to the file. The ejb-jar.xml cannot be
    external (see external=false)
    The benefit of storing the weblogic-ejb-jar.xml is that your administrator can fine tune certain
    configurations by using a deployment plan, instead of having to extract the contents from the jar file
    and then repackage it again.
    No need to worry about a clustered environment, you can place the jar and the deployment plan
    on the server where the admin server is located, when you deploy an application you deploy it to
    the cluster and everything is taken care off.
    More information on deployment plans can be found here: http://download.oracle.com/docs/cd/E11035_01/wls100/deployment/config.html

  • Orion-ejb-jar.xml being ignored

    In oc4j 903 my orion-ejb-jar.xml file is being ignored at deployment time. It is in the META-INF directory of the ejb jar. Any ideas?

    changes to this file only get reflected if the tags exist initially. You can;t add new tags and hope to see them miraculously appear - which would be nice! Delete the orion-ejb-jar.xml from the application-deployments directory of your app, and redeploy, a new deployment version of the file will be generated.

  • Storing ejb-jar.xml and weblogic-ejb-jar.xml

    We are using Weblogic Integration 9.2 on a 2 cluster system sharing the same domain directory.
    1) I am wondering if I can store these files somewhere in the domains directory instead of the EJB's archive - call it MyEjb.jar?
    2) Are there any benefits to storing these files outside of the MyEjb.jar file? I am thinking to make it easier to update the configurations such as number of MDB consumers and such to avoid having to recreate the MyEjb.jar with the new config and redeploy the application. A simple text edit and bounce could be fine if the files can be stored outside.
    2b) Can another application in the same domain read these files to find out the connection factory and queue information?
    3) Are there any disadvantages to storing those files outside of the jar file? One issue I can think of here is how to deal with them on a cluster environment.
    4) Any other feedback apprecaited.

    If you look at the contents of a deployment plan (Plan.xml) when you have it generated
    <deployment-plan ...>
      <module-override>
        <module-name>ejb.jar</module-name>
        <module-type>ejb</module-type>
        <module-descriptor external="true">
          <root-element>weblogic-ejb-jar</root-element>
          <uri>META-INF/weblogic-ejb-jar.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>ejb-jar</root-element>
          <uri>META-INF/ejb-jar.xml</uri>
        </module-descriptor>
        <module-descriptor external="true">
          <root-element>persistence-configuration</root-element>
          <uri>META-INF/persistence-configuration.xml</uri>
        </module-descriptor>
        <module-descriptor external="false">
          <root-element>persistence</root-element>
          <uri>META-INF/persistence.xml</uri>
        </module-descriptor>
      </module-override>
    </deployment-plan>You can see which files can be external and which can be not. The weblogic-ejb-jar.xml can be external
    but in this case you need a deployment plan to point weblogic to the file. The ejb-jar.xml cannot be
    external (see external=false)
    The benefit of storing the weblogic-ejb-jar.xml is that your administrator can fine tune certain
    configurations by using a deployment plan, instead of having to extract the contents from the jar file
    and then repackage it again.
    No need to worry about a clustered environment, you can place the jar and the deployment plan
    on the server where the admin server is located, when you deploy an application you deploy it to
    the cluster and everything is taken care off.
    More information on deployment plans can be found here: http://download.oracle.com/docs/cd/E11035_01/wls100/deployment/config.html

  • Weblogic.ejb20.locks.LockTimedOutException and pb with weblogic-ejb-jar.xml

    Hello All,
    I get a strange problem when I try to log in to the J2EE application based on EJBs:
    weblogic.ejb20.locks.LockTimedOutException
    I see that I can add an option to the weblogic-ejb-jar.xml file, and I hope that can help for my previous problem:
    <weblogic-enterprise-bean><stateful-session-descriptor>
    <allow-concurrent-calls>true</allow-concurrent-calls>
    </stateful-session-descriptor></weblogic-enterprise-bean>
    But I can not edit the weblogic-ejb-jar.xml file under JBuilder ! the file is probably read-only, but I do not know how to change the property. I can not find this file directly under JBuilder directories.
    So I have tried to open the module.jar that contained this file. I have checked: the file is not read-only. I have modified directly manually the weblogic-ejb-jar.xml file, but now I get this error in Jbuilder when I open the weblogic-ejb-jar.xml file:
    URL: Transformation requires a XSL StyleSheetThe Node does not have a style sheet associated with itEither add a style sheet using the Add stylesheets button on the toolbar or add a valid XSL Processing instruction to the document directly
    In conclusion, what should I do to be able to modify the weblogic-ejb-jar.xml file properly ??

    Ok in a way I have solved my problem (even if I am not completely satisfied by the way on how to proceed...). So thanks to message "JBuilder7.0 and Weblogic6.1" on EJB sun forum :
    http://forum.java.sun.com/thread.jsp?thread=285735&forum=13&message=1255488
    I have tried the following actions (mentionned in the other forum messages):
    - To preserve changes to weblogic*.xml, the safest way is to change the ejb-borland.xml.
    (I am not sure that I have applied this advice correctly, because I suppose that syntax is not similar in weblogic file or borland file).
    And you can MANUALLY update the weblogic file in your JAR archive.
    1. Open the EJB JAR file in Winzip and extract the weblogic-ejb-jar.xml file, so that a copy exists in your
    project directory.
    2. Open this file (in Notepad), add the WebLogic specific information, and then save the file.
    3. Now, when you are finished with the build cycle and are ready to deploy, you may open the EJB jar file
    and swap in the weblogic-ejb-jar.xml file."
    Good Luck.

  • Reg. Field names in ejb-jar.xml (EJB CMP)

    Hi,
    I am using WAS 5.1 and EJB CMP 2.0.
    I got a error while dealing with the database i.e ORACLE 8.The Scenario in detail,
    I had a table X with filed names 'help' and 'sequence'. When i am generating Jar file using 'ejbdeploy', the name of the field names in Table.ddl changing automatically to 'help1' and 'sequence1'. Due to this i am not able to access data from database.
    Why field names are changing? Are they keywords ? con't we have field names with the above names? If they are keywords tell me the document which contains these details?
    Thanks in Advance.

    According to the ejb-jar.xml dtd ejb-name, ejb-class, persistence-type, prim-key-class, reentrant are the required elements for an entity bean.
    <!ELEMENT entity (description?, display-name?, small-icon?,
              large-icon?, ejb-name, home?, remote?, local-home?,
              local?, ejb-class, persistence-type, prim-key-class,
              reentrant, cmp-version?, abstract-schema-name?,
              cmp-field*, primkey-field?, env-entry*, ejb-ref*,
              ejb-local-ref*, security-role-ref*, security-identity?,
              resource-ref*, resource-env-ref*, query*)>

  • Problem deploying connector: META-INF/ejb-jar.xml not found in jar file

              Has anyone seen this problem:
              I built Sun's Blackbox implementation and packaged
              it identical to the BlackBoxNoTx.rar included with
              Weblogic's 'jconnector' sample (even using the same
              ra.xml and weblogic-ra.xml). When I try to deploy
              it, the server reports:
              java.io.FileNotFoundException:
              META-INF/ejb-jar.xml not found in jar file
              I have no idea why the server thinks my connector
              is an EJB. If I deploy the BlackBoxNoTx.rar included
              with the sample, everything works without a hitch.
              The only variable that I'm changing in my BlackBoxNoTx.rar
              is that I build the Blackbox classes myself--otherwise,
              the RAR packagings are identical. Any assistance is
              greatly appreciated since I'm banging my head against
              a wall...
              Thanks,
              -jason
              

              I was finally able to resolve this one. On the odd chance that someone else encounters
              the same problem, here's what went wrong:
              My RAR file had two directories: 'META-INF' and 'meta-inf'. The first was created
              by the jar tool and contained the manifest.mf file. The second I created manually
              and it contained my ra.xml and weblogic-ra.xml. When I examined the RAR using
              any tools or I extracted the contents, it looked like it only contained one directory:
              META-INF (because NT is case-insensitive).
              "Jason L" <[email protected]> wrote:
              >
              >Has anyone seen this problem:
              >
              >I built Sun's Blackbox implementation and packaged
              >it identical to the BlackBoxNoTx.rar included with
              >Weblogic's 'jconnector' sample (even using the same
              >ra.xml and weblogic-ra.xml). When I try to deploy
              >it, the server reports:
              >
              >java.io.FileNotFoundException:
              >META-INF/ejb-jar.xml not found in jar file
              >
              >I have no idea why the server thinks my connector
              >is an EJB. If I deploy the BlackBoxNoTx.rar included
              >with the sample, everything works without a hitch.
              >The only variable that I'm changing in my BlackBoxNoTx.rar
              >is that I build the Blackbox classes myself--otherwise,
              >the RAR packagings are identical. Any assistance is
              >greatly appreciated since I'm banging my head against
              >a wall...
              >
              >Thanks,
              >
              >-jason
              

  • Ejb-jar.xml not using fully qualified class names

    HI,
    I am trying yo upgrade my application from weblogic 8.1 to weblogic 9.2.3. My application has both session and enitybeans. I updated weblogic related jars with 9.x version. But while running ejbgen, i am getting the following exception.
    *[java] weblogic.ejb.container.deployer.DeploymentDescriptorException: Unable to set the transaction attribute for method 'updateService(abcTO)' on EJB 'AbcService'. No matching method could be found. Please verify the method signature specified in the ejb-jar.xml file matches that of your Local interface for this EJB.*
    In ejb-jar.xml file, it is not creating the fully qualified class name for abcTo in <method-param>. In component interface, the method signature is not contaning fully qualified class name for the parameters and return values.
    If i change the signature in the bean with the fully qualified class name of the parameter, the ejb-jar.xml file is creating fine. But there are 100's of signatures i need to change if this is the only solution.
    Can you please advice what i need to change when i upgrade from weblogic 8 to 9 series from session and entity bean's point of view?
    Thanks in Advance
    Naveen.
    Edited by: avn_venki on Mar 16, 2009 7:15 AM
    Edited by: avn_venki on Mar 16, 2009 7:15 AM

    ejb-jar.xml has always required fully-qualified class names. If some vendors have accepted unqualified class names unfortunately that
    behavior is non-portable. Your best bet is to fully-qualify the names. Perhaps you can find some tools to help you given the large
    number of components in your application.

  • Orion-ejb-jar.xml is overwritten every deployment and not using from .jar

    My application is an ear file containing a single jar and a war.
    My configuration looks like:
    /applications/<appname>/myejbs.jar
    within myejbs.jar, exists meta-inf\orion-ejb-jar.xml
    Every time I redeploy (copy .ear into /applications and restart server) a version of orion-ejb-jar.xml is copied into /application-deployments/myejbs/orion-ejb-jar.xml but it is not the version that I bundle within my jar. It appears this is the auto-generated version.
    Why is this file being overwritten? I thought it should detect if a version of orion-ejb-jar already exists and leave it intact if so. Is there a config setting I've missed somewhere?

    Well, we had the some problem.
    We solved it when we wrote in the orion-ejb-jar.xml deployment version for actual oc4j.
    example orion-ejb-jar.xml for oc4j 904:
    <orion-ejb-jar deployment-version="9.0.4.0.0">
    or
    <orion-ejb-jar deployment-version="1.5.0">
    example orion-ejb-jar.xml for oc4j 903:
    <orion-ejb-jar deployment-version="9.0.3.0.0">
    Zajo

  • Can not make force-update="true" in orion-ejb-jar.xml

    if you make force-update="true" in the orion-ejb-jar.xml, even a simple entity bean can not be deploy to oc4j 9.0.3.
    can anybody tell me if it is a bug?
    Auto-deploying file:/D:/testdir/fromdbms/Project1/classes/ (No previous deployment found)... Country_EntityBeanWrapper2.java:1567: unclosed string literal
    if(com.evermind.server.ApplicationServer.DEBUG) debug("update COUNTRY set CODE = ?, NAME = ? where UNIQUEID = ?
    ^
    Country_EntityBeanWrapper2.java:1568: ')' expected
    PreparedStatement statement = connection.getCustomStatement("update COUNTRY set CODE = ?, NAME = ? where UNIQUEID = ?");
    ^

    I use jdeveloper 903 version to create only one entity bean, and set the force-update=true in the orion-ejb-jar.xml, when verify it, it is ok, when deploy it to the oc4j 903 version, it throws error message.
    you may try it using jdeveloper 9.0.3 version.

  • JBuilder plugin does not generate orion-ejb-jar.xml

    Hello,
    We are using JBuilder to code EJB's. I downloaded the OC4J plugins for JBuilder 5 and 6. Everything installed right but filling in the deployment descriptor does not automatically generate XML entries in the orion-ejb-jar.xml. I have to do this by hand.
    Deploying to OC4J 1.0.2.2.1 succeeds and also running OC4J 1.0.2.2.1 in the debugger of JBuilder succeeds.
    I would like to see an automatic process of filling in the right tags in the orion-ejb-jar.xml just as what happens in JDeveloper or in JBuilder for the ejb-inprise.xml.
    Who is responsible for making the plugins?
    The plugins are good but things must be better for working with JBuilder to Oracle 9iAS.
    Last big very big point is the lack of good documentation.
    Oracle, when you have good technology please tell me in good documentation how to use it otherwise how will I ever discover the good things. Maybe we are trowing things away because of not knowing.
    The plugins are only for working with OC4J 1.0.2.2.x.
    When will there be plugins voor OC4J version 2?
    With regards,
    Johan Borchers
    VDA informatiebegheersing.

    Here is the URL where you can download the JBuilder7 plugin for OC4J 903. It supports CMP and automatically generates orion-ejb-jar.xml, but the CMR mapping is supported from JBuilder8 and the corresponding plugin.
    http://codecentral.borland.com/codecentral/ccWeb.exe/listing?id=19237

  • "Could not locate the bean with the ejb-name XYZ in weblogic-ejb-jar.xml

    Hi,
    Please someone help me on this...
    I'm trying to deploy an application on WLS 8.1 SP4
    on HPUX IA64 arch. From the ear file WLS is able to
    deploy 3 jars but for the last two jars it's throwing
    the below error:
    Could not locate the bean with the ejb-name xyz in weblogic-ejb-jar.xml
    But ejb with name xyz is defined in the the weblogic-ejb-jar.xml file and it's also present in the
    META-INF/ejb-jar.xml file.
    I have no clue what's going wrong.
    Any help is appreciated.
    Thanks
    Mouli

    oops! Pls ignore my previous mail. It was for a different problem.
    FOr the original problem of "couldn ot locate the bean with the ejb-name XZY in weblogic-ejb-jar.xml":
    This happens if you don't have the below files defined
    for a JAR/EAR file:
    weblogic-ejb-jar.xml and weblogic-cmp-rdbms-jar.xml (needed if you have any Datasource mapped)
    These two are basic files required for any JAR/EAR file.
    If you dont' have it already you can generate them using
    $WLS_HOME/bin/startWLBuilder.sh GUI tool bundled along
    with WLS (I used 8.1 SP4) to generate these files ! This tool is really helpful.
    - Mouli

  • Orion-ejb-jar.xml is not valid

    I am trying to parse orion-ejb-jar.xml as follows:
    package test;
    import javax.xml.parsers.*;
    import org.w3c.dom.*;
    import org.apache.xml.serialize.*;
    import org.xml.sax.*;
    import java.io.*;
    public class GetFieldSize {
    String filePath = null;
    Document document = null;
    public GetFieldSize(String filePath) {
    this.filePath = filePath;
    public void constructDocument() {
    try {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    builder.parse(new InputSource(new FileReader(filePath)));
    } catch (FactoryConfigurationError fce) {
    fce.printStackTrace();
    } catch (ParserConfigurationException pce) {
    pce.printStackTrace();
    } catch (SAXException se) {
    se.printStackTrace();
    } catch (IOException ie) {
    ie.printStackTrace();
    public static void main(String[] args) {
    GetFieldSize getFieldSize = new GetFieldSize("Z:\\nosqms\\ProcessTools\\qTools\\qTools\\qTools\\src\\META-INF\\orion-ejb-jar.xml");
    getFieldSize.constructDocument();
    I got the following parse error.
    oracle.xml.parser.v2.XMLParseException: Expected '>'.
    void oracle.xml.parser.v2.XMLError.flushErrors()
    void oracle.xml.parser.v2.NonValidatingParser.parseMarkupDecl()
    void oracle.xml.parser.v2.NonValidatingParser.parseDoctypeDecl()
    void oracle.xml.parser.v2.NonValidatingParser.parseProlog()
    void oracle.xml.parser.v2.NonValidatingParser.parseDocument()
    void oracle.xml.parser.v2.XMLParser.parse(org.xml.sax.InputSource)
    org.w3c.dom.Document oracle.xml.jaxp.JXDocumentBuilder.parse(org.xml.sax.InputSource)
    void test.GetFieldSize.constructDocument()
    void test.GetFieldSize.main(java.lang.String[])
    When I opened the orion-ejb-jar.xml in IE, I got the following error:
    A string literal was expected, but no opening quote character was found. Line 87, Position 1
    CDATA #IMPLIED
    Seems like problem with http://xmlns.oracle.com/ias/dtds/orion-ejb-jar.dtd.
    How to rectify it?

    1: Replace
    isolation (committed | serializable | uncommitted | repeatable_reads)
    CDATA #IMPLIED
    locking-mode (pessimistic | optimistic | read-only | old_pessimistic)
    by
    isolation (committed | serializable | uncommitted | repeatable_reads) #IMPLIED
    locking-mode (pessimistic | optimistic | read-only | old_pessimistic) #IMPLIED
    2: in
    <!ELEMENT ior-security-config (transport-config?, as-context?
    sas-context?) >
    add the final comma:
    <!ELEMENT ior-security-config (transport-config?, as-context?, sas-context?) >

  • Sample weblogic-ejb-jar.xml for Resource-ref EJB 3.0

    I am trying to create an MDB that can be re-used under different names.
    @MessageDriven(description = "An MDB that transfers messages from one Queue to another", activationConfig = { @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") })
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
    public class TransferMdb implements MessageListener {
    private static final Logger LOG = Logger.getLogger(TransferMdb.class);
    @Resource(name = "jms/connfactory")
    private ConnectionFactory connectionFactory;
    @Resource(name = "jms/targetDestination")
    private Queue targetDestination;
    <ejb-jar version="3.0" 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_3_0.xsd">
    <enterprise-beans>
    <message-driven>
    <ejb-name>TransferMdb</ejb-name>
    <ejb-class>TransferMdb</ejb-class>
    </message-driven>
    </enterprise-beans>
    </ejb-jar>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>TransferMdb</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>200</max-beans-in-free-pool>
    <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>test_queue</destination-jndi-name>
    <transaction-descriptor>
    <trans-timeout-seconds>20</trans-timeout-seconds>
    </transaction-descriptor>
    </message-driven-descriptor>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jms/connectionfactory</res-ref-name>
    <jndi-name>connectionfactory</jndi-name>
    </resource-description>
    <resource-description>
    <res-ref-name>jms/targetDestination</res-ref-name>
    <jndi-name>reply_queue</jndi-name>
    </resource-description>
    </reference-descriptor>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    However when I deploy the above, I get exceptions such as:
    problem: cvc-complex-type.2.4a: Expected elements 'initial-context-factory@http://www.bea.com/ns/weblogic/weblogic-ejb-jar provider-url@http://www.bea.com/ns/weblogic/weblogic-ejb-jar connection-factory-jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jms-polling-interval-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jms-client-id@http://www.bea.com/ns/weblogic/weblogic-ejb-jar generate-unique-jms-client-id@http://www.bea.com/ns/weblogic/weblogic-ejb-jar durable-subscription-deletion@http://www.bea.com/ns/weblogic/weblogic-ejb-jar max-messages-in-transaction@http://www.bea.com/ns/weblogic/weblogic-ejb-jar distributed-destination-connection@http://www.bea.com/ns/weblogic/weblogic-ejb-jar use81-style-polling@http://www.bea.com/ns/weblogic/weblogic-ejb-jar init-suspend-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar max-suspend-seconds@http://www.bea.com/ns/weblogic/weblogic-ejb-jar security-plugin@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' instead of 'transaction-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' here in element message-driven-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar:<null>
    problem: cvc-complex-type.2.4a: Expected elements 'transaction-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar iiop-security-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar resource-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar resource-env-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar ejb-reference-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar service-reference-description@http://www.bea.com/ns/weblogic/weblogic-ejb-jar enable-call-by-reference@http://www.bea.com/ns/weblogic/weblogic-ejb-jar network-access-point@http://www.bea.com/ns/weblogic/weblogic-ejb-jar clients-on-same-server@http://www.bea.com/ns/weblogic/weblogic-ejb-jar run-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar create-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar remove-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar passivate-as-principal-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar local-jndi-name@http://www.bea.com/ns/weblogic/weblogic-ejb-jar dispatch-policy@http://www.bea.com/ns/weblogic/weblogic-ejb-jar remote-client-timeout@http://www.bea.com/ns/weblogic/weblogic-ejb-jar stick-to-first-server@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' instead of 'reference-descriptor@http://www.bea.com/ns/weblogic/weblogic-ejb-jar' here in element weblogic-enterprise-bean@http://www.bea.com/ns/weblogic/weblogic-ejb-jar:<null>
    at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:234)
    at weblogic.descriptor.internal.MarshallerFactory$1.evaluateResults(MarshallerFactory.java:221)
    at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:146)
    at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
    Truncated. see log file for complete stacktrace
    I am clearly missing items in the weblogic-ejb-jar.xml. If anyone has a sample or tips, that would be awesome as a starting point.

    Those tags just declare that you are using our CMP provider and that
    your descriptor is in META-INF/weblogic-cmp-rdbms-jar.xml.
    FWIW, you might also want to check out EJBGen. It tends to keep more up
    to date with WLS than xdoclet.
    -- Rob
    Gen wrote:
    I am using xdoclets to generate descriptor file weblogic-ejb-jar.xml
    for a BMP entity bean. Xdoclet is generating the descriptor file
    alright, but is putting the following extra tags. This happens even
    for samples which come with the download, so my tags in java file are
    not wrong.
    My question is, are the extra tags below harmless, or should I
    manually go to each desciptor file and remove them?
    Thanks.
    ----------- EXTRA TAGS GENERATED START ---------
    persistence> <persistence-type>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>6.0</type-version>
    <type-storage>META-INF/weblogic-cmp-rdbms-jar.xml</type-storage>
    </persistence-type>
    <persistence-use>
    <type-identifier>WebLogic_CMP_RDBMS</type-identifier>
    <type-version>6.0</type-version>
    </persistence-use>
    </persistence>
    ----------- EXTRA TAGS GENERATED END ---------
    ----------- TAGS I PUT IN JAVA CLASS START --------
    * @ejb:bean name="com.ejb.entity.Customer"
    * jndi-name="com.ejb.entity.CustomerHome"
    * view-type="remote"
    * type="BMP"
    * primkey-field="com.ejb.entity.CustomerPK"
    * reentrant="false"
    * @weblogic:cache
    * max-beans-in-cache="1000"
    * read-timeout-seconds="900"
    * concurrency-strategy="ReadOnly"
    ----------- TAGS I PUT IN JAVA CLASS END --------

Maybe you are looking for

  • PI 7.3 receiver AAE idoc scenario-No receiver comm channel found in ICO

    Hi, I am working in PI 7.3 receiver AAE idoc scenario.When I try to configure Integrated Configuration(ICO),I am not able to see the receiver comm channel in receiver agreement. What is the reason for this??I have configured the communication channel

  • Communication B/w R/3 to GTS

    Hi experts, I have small doubt about the connection of ECC and GTS. To communicate ECC to GTS we define Logical systems and assign logical systems to client. Also we maintain RFC method call in ECC system. Suppose In R/3 system if I define Logical Sy

  • Level 3 postscript in Photoshop

    A technician for our CTP system says that Photoshop CS3 does not directly support postscript level 3. He says that Photoshop does not take advantage of 1024 levels of gray and thus is more prone to banding than gradients created in InDesign or Illust

  • Canon MG2200 All-In One won't scan?

    This is really frustrating me. Originally, i had purchased a PIXMA MG2100 All-In One printer and it worked fine. One day, however, the scanner stops working. Next the printer won't connect at all, and after some e-mails with customer support they sen

  • Restarting Error Workflows in Production Environment

    Hi Experts, I m having an issue in the prod enviroment there are some error workflows because of the error issued by the function in a method which i used in a workflow step.Know i have trapped that  error .And i tried to restart the workflows by usi