Parsing ejb-jar.xml using jaxb

hi all,
how to parse the ejb-jar.xml using jaxb? can anybody send the information about the API which we have to use to parse the ejb-jar.xml? (ejb2.0)
i need the details about all ejbs in an application, (like jndi name, Home and Remote name). so, how can i parse the ejb descriptors?
regards,
panneer

Hi Panneer,
Well, parsing the EJB descriptors is, in principle, a task for the EJB container where they are deployed. From what you wrote I assume that you need to gather that kind of info to visualize in some (monitoring?) tool. Is that correct?
If so, the question would be whether you have access to the EJB jar on the file system (before it's deployed) or you can only connect to the server with the already deployed EJBs. In the latter case, this information is shown in the [NWA plugins|http://help.sap.com/saphelp_nwce10/helpdata/en/0b/5b5a42ea221153e10000000a155106/frameset.htm]. There are also some [telnet commands|http://help.sap.com/saphelp_nw04/helpdata/en/79/3cf82ade038d45a21fbfdaee349b22/frameset.htm] in NW 04 and 7.0 (04s).
If you have access to the EJB jar file, you can parse the descriptors using DOM or SAX, but I'm not aware of any pre-defined JAXB API for this purpose. Probably you can also generate the mapped classes yourself and use them, however I'm not sure how that works with DTD (because of EJB 2.0).
HTH!
\-- Vladimir

Similar Messages

  • SAXException while parsing 'ejb-jar.xml'.

    Hi
    My machine is behind a proxy. When I try to compile an EJB using ANT 1.3 I am getting the following Exception.
    D:\src\tools\ant\build.xml:1267: SAXException while parsing 'ejb-jar.xml'. This probably indicates badly-formed XML. Details: External entity not found: "http://java.sun.com/dtd/ejb-jar_1_1.dtd".
    --- Nested Exception ---
    java.net.SocketException: no further information (code=10071)
    at com.sun.xml.parser.Parser.fatal(Parser.java:2817)
    I read inone of the news groups that I need to have weblogic.jar in the classpath.
    I am using webligic 6.1 and I have also set weblogic.jar in the classpath.
    Please help me
    Thanks
    Seshadri.

    It's http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd. Also, check your doctype -
    it publicid is correct (-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN),
    local DTD will be used.
    Seshadri <[email protected]> wrote:
    Hi
    My machine is behind a proxy. When I try to compile an EJB using ANT 1.3 I am getting the following Exception.
    D:\src\tools\ant\build.xml:1267: SAXException while parsing 'ejb-jar.xml'. This probably indicates badly-formed XML. Details: External entity not found: "http://java.sun.com/dtd/ejb-jar_1_1.dtd".
    --- Nested Exception ---
    java.net.SocketException: no further information (code=10071)
    at com.sun.xml.parser.Parser.fatal(Parser.java:2817)
    I read inone of the news groups that I need to have weblogic.jar in the classpath.
    I am using webligic 6.1 and I have also set weblogic.jar in the classpath.
    Please help me
    Thanks
    Seshadri.--
    Dimitri

  • ERROR: Error parsing 'ejb-jar.xml'

    Hello ppls,
    i am getting the following error while compiling using ejbc :
    ERROR: Error parsing 'ejb-jar.xml' line 25: The content of element
    type "entity"
    must match "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,
    my ejb-jar.xml looks like this
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN' 'http://www.java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'
    >
    <ejb-jar>
         <enterprise-beans>
              <entity>
                   <ejb-name>Account</ejb-name>
                   <home>wlEntityBeanexample.AccountHome</home>
                   <remote>wlEntityBeanexample.Account</remote>
                   <ejb-class>wlEntityBeanexample.HelloBean</ejb-class>
                   <persistence-type>Bean</persistence-type>
                   <prim-key-class>java.lang.String</prim-key-class>
                   <transaction-type>Container</transaction-type>
                   <reentrant>False</reentrant>
                   <cmp-version>2.x</cmp-version>
                   <resource-ref>
                        <res-ref-name>mysql</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>Account</ejb-name>
                        <method-intf>Remote</method-intf>
                        <method-name>*</method-name>
                   </method>
                   <trans-attribute>Required</trans-attribute>
              </container-transaction>
         </assembly-descriptor>
         <ejb-client-jar>AccountClient<ejb-client-jar>
    </ejb-jar>     
    I compared the file with other ejb-jar.xml file coming as an Example
    in Weblogic, i didn't find any difference.
    Thanks in Advance,
    Prashant

    Thanks Deepak, i got it running at last.
    Prashant
    "Deepak Vohra" <[email protected]> wrote in message news:<[email protected]>...
    The entity element in ejb-jar.xml should be of the
    format:
    <!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*)>
    transaction-type is not defined for a entity ejb.
    <entity> <ejb-name>Account</ejb-name> <home>wlEntityBeanexample.AccountHome</home>
    <remote>wlEntityBeanexample.Account</remote> <ejb-class>wlEntityBeanexample.HelloBean</ejb-class>
    <persistence-type>Bean</persistence-type> <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant> <cmp-version>2.x</cmp-version>
    <resource-ref> <res-ref-name>mysql</res-ref-name> <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth> </resource-ref>
    </entity>
    [email protected] (prashant) wrote:
    Hello ppls,
    i am getting the following error while compiling using ejbc :
    ERROR: Error parsing 'ejb-jar.xml' line 25: The content of element
    type "entity"
    must match "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,
    my ejb-jar.xml looks like this
    <?xml version="1.0"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
    JavaBeans 2.0//EN' 'http://www.java.sun.com/j2ee/dtds/ejb-jar_2_0.dtd'
    >
    <ejb-jar>
         <enterprise-beans>
              <entity>
                   <ejb-name>Account</ejb-name>
                   <home>wlEntityBeanexample.AccountHome</home>
                   <remote>wlEntityBeanexample.Account</remote>
                   <ejb-class>wlEntityBeanexample.HelloBean</ejb-class>
                   <persistence-type>Bean</persistence-type>
                   <prim-key-class>java.lang.String</prim-key-class>
                   <transaction-type>Container</transaction-type>
                   <reentrant>False</reentrant>
                   <cmp-version>2.x</cmp-version>
                   <resource-ref>
                        <res-ref-name>mysql</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>Account</ejb-name>
                        <method-intf>Remote</method-intf>
                        <method-name>*</method-name>
                   </method>
                   <trans-attribute>Required</trans-attribute>
              </container-transaction>
         </assembly-descriptor>
         <ejb-client-jar>AccountClient<ejb-client-jar>
    </ejb-jar>     
    I compared the file with other ejb-jar.xml file coming as an Example
    in Weblogic, i didn't find any difference.
    Thanks in Advance,
    Prashant

  • IOException while parsing'ejb-jar.xml

    Hi,
    While I am building my project I am getting the below error. Please anybody help suggest me to overcome this problem.
    [ejbjar] Unable to load dependency analyzer: org.apache.tools.ant.util.depend.bcel.FullAnalyzer - dependent class not found: org/apache/bcel/classfile/Visitor
    [ejbjar] Could not resolve ( publicId: -//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN, systemId: http://java.sun.com/dtd/ejb-jar_2_0.dtd) to a local entity
    BUILD FAILED
    IOException while parsing'ejb-jar.xml'. This probably indicates that the descriptor doesn't exist. Details: Connection timed out: connect
    Regards,
    Sameer

    Do you have the appropriate bcel jar file in your path that includes org/apache/bcel/classfile/Visitor?

  • Can't create a JAXB binding for ejb-jar.xml using xjc

    Hi all,
    I have been trying to build a JAXB binding for EJB deployment descriptors, mainly because I have to update a hand-cranked ejb-jar.xml file on the fly with some additions that have come from a code generator.
    I have tried to use
    xjc ejb-jar_2_1.xsd j2ee_1_4.xsd ejb-jar_2_1.xsd
    xjc on the schema definitions I found at http://java.sun.com/xml/ns/j2ee/ but I can't get it to work. It produces reams of errors, see below for a short extract.
    Of course, someone could put me out of my misery and tell me where to find a binding that someone else has done. I can't be the first chimp on the planet that has wanted to do this!
    Any help much appreciated.
    errors:
    [WARNING] warning: "blockDefault" attribute of <schema> is not supported
    line 3 of xml.xsd
    [WARNING] warning: "finalDefault" attribute of <schema> is not supported
    line 3 of xml.xsd
    [WARNING] warning: <key> identity constraint will be ignored by JAXB validation
    line 117 of j2ee_web_services_client_1_1.xsd
    [WARNING] warning: <key> identity constraint will be ignored by JAXB validation
    line 115 of ejb-jar_2_1.xsd
    [WARNING] warning: <keyref> identity constraint will be ignored by JAXB validation
    line 129 of ejb-jar_2_1.xsd
    [WARNING] warning: <key> identity constraint will be ignored by JAXB validation
    line 145 of ejb-jar_2_1.xsd
    [WARNING] warning: <keyref> identity constraint will be ignored by JAXB validation
    line 159 of ejb-jar_2_1.xsd

    Exception initializing 'oracle.dbtools.raptor.MonitorJDBCAddin' in extension 'Oracle SQL Developer': oracle.classloader.
    util.AnnotatedNoClassDefFoundError:
    Missing class: oracle.jdbc.OracleDriverThe Oracle driver is not on the classpath.

  • ejb-local-ref where to put this tag in ejb-jar.xml ??

    I have an ejb-jar.xml that looks like this. I have had no problem with remote interfaces. Now I want the bean to have a local interface too.
    Just let me know where the tag I have mentioned for the <ejb-local-ref> has to be put into.
    When I compile this file it throws me an error which i have shown below the output of the ejb-jar.xml file
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <query>
         <query-method>
              <method-name>findAllIDMasters</method-name>
              <method-params/>
         </query-method>
         <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
         <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    I have also added the following tag in the weblogic-jar.xml
    <local-jndi-name>IDMasterEJB.IDMasterLocalHome</local-jndi-name>
    Just let me know whether I am correct
    On compilation (using ant utility) the error thrown is like this :
    ejbc:
    [java] ERROR: Error parsing 'ejb-jar.xml' line 47: The content of element type "entity" must ma
    tch "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,remote?,local-home?,local?,e
    jb-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-schema-name?,cmp-field*,pri
    mkey-field?,env-entry*,ejb-ref*,ejb-local-ref*,security-role-ref*,security-identity?,resource-ref*,r
    esource-env-ref*,query*)".
    [java] ERROR: ejbc found errors
    [java] Java Result: 1
    Kindly Help !!!
    Thanks n regards
    Sajiv

    This should take care of it
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <query>
    <query-method>
    <method-name>findAllIDMasters</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>

  • WL ejbc error on a healthy ejb-jar.xml

    Hi,
    I have an EJB with one-to-one mapping to a few other EJBs.
    I had this completely functional in WL 6.0 with sp1.
    However when I try to deploy the same EJB in WL 6.1, it says
    ERROR: Error parsing 'ejb-jar;xml' line 62: Element type
    "ejb-entity-ref" must be declared.
    Wired part is that the ejb-jar.xml on line 62 has the
    ejb-entity-ref tag defined.
    So, who is nuts here ??
    thanks
    Sanjeev Hegde

    WLS 6.1 implements EJB 2.0PFD2 (including some of the latest changes in
    the EJB 2.0 spec).
    You will need to upgrade your EJBs to support the latest EJB 2.0
    changes.
    If you have further questions about our EJB 2.0 support, I would suggest
    that you post them in the EJB beta newsgroup.
    -- Rob
    Sanjeev Hegde wrote:
    Hi,
    I have an EJB with one-to-one mapping to a few other EJBs.
    I had this completely functional in WL 6.0 with sp1.
    However when I try to deploy the same EJB in WL 6.1, it says
    ERROR: Error parsing 'ejb-jar;xml' line 62: Element type
    "ejb-entity-ref" must be declared.
    Wired part is that the ejb-jar.xml on line 62 has the
    ejb-entity-ref tag defined.
    So, who is nuts here ??
    thanks
    Sanjeev Hegde

  • Can't I use the comment in weblogic-ejb-jar.xml?

    Hi, I am migrating to WebLogic Server 6.1 from 5.1.
    And for the weblogic-ejb-jar.xml,
    the following error occurs:
    ERROR: Error parsing 'META-INF/weblogic-ejb-jar.xml' line 14: An invalid XML character
    (Unicode: 0xb8) was found in the comment.
    ERROR: ejbc found errors
    The errorneous line is the following comment. (it's fine in 5.1)
    <!-- if false, ... -->
    Must I remove this comment?
    Thanks in advance.

    I used Korean language in comment.
    But the charset of XML was iso-8859-1.
    Sorry.
    "mariah" <[email protected]> wrote:
    >
    Hi, I am migrating to WebLogic Server 6.1 from 5.1.
    And for the weblogic-ejb-jar.xml,
    the following error occurs:
    ERROR: Error parsing 'META-INF/weblogic-ejb-jar.xml' line 14: An invalid
    XML character
    (Unicode: 0xb8) was found in the comment.
    ERROR: ejbc found errors
    The errorneous line is the following comment. (it's fine in 5.1)
    <!-- if false, ... -->
    Must I remove this comment?
    Thanks in advance.

  • Use of externally-defined/ in weblogic-ejb-jar.xml

    I am trying to use Global Roles defined via the Weblogic console to control access to EJB methods.
    I am using the <externally-defined/> tag in security role assignments, however when I deploy to Weblogic I get the following error :
    <8/09/2004 04:21:42 PM GMT+10:00> <Error> <Deployer> <BEA-149205> <Failed to initialize the application appsdirmars-marketdata_ear due to error weblogic.manag
    ement.ApplicationException: Prepare failed. Task Id = null
    Module Name: ejb-marketdata.jar, Error: [EJB:011024]The XML parser encountered an error in your deployment descriptor. Please ensure that your deployment descriptor corresponds to the format in the DTD. The error was:
    Error parsing file 'META-INF/weblogic-ejb-jar.xml' at line: 51 column: 26. Element type "externally-defined" must be declared..
    at weblogic.j2ee.J2EEApplicationContainer.checkForErrors(J2EEApplication
    Container.java:1612)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:1207)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:1051)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:823)
    at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(Sl
    aveDeployer.java:2925)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications
    (SlaveDeployer.java:967)
    at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.j
    ava:349)
    at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
    e(DeploymentManagerServerLifeCycleImpl.java:229)
    at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    I am running Weblogic 8.1 SP3 on Windows XP Pro.
    The XML is valid for the specified DTD according to my XML editor.
    The relevevant fragment from weblogic-ejb-jar.xml is included below.
    Any help much appreciated.
    Gavin.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <security-role-assignment>
    <role-name>MarsAdmin</role-name>
    <externally-defined/>
    </security-role-assignment>
    <security-role-assignment>
    <role-name>MarsViewer</role-name>
    <externally-defined/>
    </security-role-assignment>
    </weblogic-ejb-jar>

    I tried using the <global-role/> tag instead - this does deploy without any errors - but when I call the secure EJB method I get the Security Violation error below.
    The DTD says using the <global-role/> tag is fine, albeit deprecated, but the Weblogic 8.1 manual says this has been replaced by <externally-defined/>, so I'm not sure if this should work or not.
    [EJB:010160]Security Violation: User: 'ghughes' has insufficient permission to access EJB: type=<ejb>, application=_appsdir_mars-marketdata_ear, module=ejb-marketdata.jar, ejb=marketdata.MarketDataManager, method=getEnergyOverview, methodInterface=Remote, signature={java.util.Date}.
    So on the whole I'd prefer to work out why Weblogic isn't recognising <externally-defined/> - I've included the full deployment descriptor below - I'm generating it using the latest snapshot of XDoclet - is the DTD specified correct for Weblogic 8.1 SP3 ? (It matches the one specified in http://e-docs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html - but I can't think of anything else that could be wrong).
    Any tips much appreciated as I need to enable an administrator to customise these roles at runtime rather than hard-coding the role - group mappings into the deployment descriptors.
    Thanks,
    Gavin.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <description><![CDATA[Generated by XDoclet]]></description>
    <weblogic-enterprise-bean>
    <ejb-name>marketdata.MarketDataManager</ejb-name>
    <stateless-session-descriptor>
    </stateless-session-descriptor>
    <reference-descriptor>
    </reference-descriptor>
    <jndi-name>marketdata.MarketDataManager</jndi-name>
    <local-jndi-name>marketdata.MarketDataManagerLocal</local-jndi-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
    <ejb-name>marketdata.MessageManager</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>5</max-beans-in-free-pool>
    <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>FileTopic</destination-jndi-name>
    <connection-factory-jndi-name>JMSConnectionFactory</connection-factory-jndi-name>
    <jms-polling-interval-seconds>10</jms-polling-interval-seconds>
    <jms-client-id>1</jms-client-id>
    </message-driven-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>10</trans-timeout-seconds>
    </transaction-descriptor>
    <reference-descriptor>
    </reference-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    </weblogic-enterprise-bean>
    <!--
    To add enterprise beans that you have deployment descriptor info for, add
    a file to your XDoclet merge directory called weblogic-enterprise-beans.xml that contains
    the <weblogic-enterprise-bean></weblogic-enterprise-bean> markup for those beans.
    -->
    <!-- xdoclet merge file -> weblogic-ejb-jar.xml -->
    <security-role-assignment>
    <role-name>MarsAdmin</role-name>
    <externally-defined/>
    </security-role-assignment>
    <security-role-assignment>
    <role-name>MarsViewer</role-name>
    <externally-defined/>
    </security-role-assignment>
    <idempotent-methods>
    </idempotent-methods>
    </weblogic-ejb-jar>
    Message was edited by [email protected] at Sep 8, 2004 8:45 PM

  • Using JMX to read ejb manifest jar and ejb-jar.xml in ejb jar inside ear

    Hello,
    I have an ear deployed on weblogic console. I need to check contents of manifest file and ejb-jar.xml of a jar that is present in the deployed ear.
    Currently I am using below code to access jar inside ear deployed :
    Hashtable env = new Hashtable(5);
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    env.put(Context.PROVIDER_URL,
    url);
    env.put(Context.SECURITY_PRINCIPAL, user);
    env.put(Context.SECURITY_CREDENTIALS, password);
    Context ctx = new InitialContext(env);
    mBeanHome = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
    String type = "EJBComponentRuntime";
    Set beans = mBeanHome.getMBeansByType(type);
    try{
    for(Iterator it=beans.iterator();it.hasNext();)
    EJBComponentRuntimeMBean rt = (EJBComponentRuntimeMBean)it.next();
    if(rt.getParent().getName().equals("xxx")){
    System.out.println(rt.getName());
    l.add(rt.getName());
    Here xxx is the ear. Now I need to get inside the jar (represented) by variable rt and access its manifest file,ejb-jar.xml
    Does anyone have an idea how to do this?
    regards
    Sameer

    Isn't it possible to put them there manually? :)

  • How ejb-jar.xml is Used by ejb Container

    Hi,
        Can anyone please explain me about how ejb-jar.xml is Used by ejb Container when a request is sent by a client(ie StandAlone program or a WebService)
    Thanks in Advance
    Venkat.

    Hi Benny,
    Nice answer to a self explainig question :-).
    Regards,
    Daniel
    p.s. THX to Sun and J2EE 5 and especially EJB3 (and don't forget about SAP, NWCE is really cool!!!)

  • Ejb-jar.xml parse excpetion...

    Could someone please take a look at my ejb-jar.xml code and try to see the error in it?
    I am trying to load this jar into WebLogic 6.1 and when i try and deploy the bean i get the following exception:
    Unable to deploy EJB: RequestBean.jar from RequestBean.jar:
    The XML parser encountered an error in your deployment descriptor. Please ensure that your deployment descriptor corresponds to the format in the DTD. The error was:
    org.xml.sax.SAXParseException: The content of element type "ejb-jar" must match "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,relationships?,assembly-descriptor?,ejb-client-jar?)".
    Here is the xml behind my ejb-jar.xml file:
    <!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>
        <session>
          <ejb-name>RequestResearch</ejb-name>
          <home>com.weblogic.RequestResearchHome</home>
          <remote>com.weblogic.RequestResearchRemote</remote>
          <ejb-class>com.weblogic.RequestResearchBean</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Bean</transaction-type>
        </session>
      </enterprise-beans>
      <enterprise-beans>
        <session>
          <ejb-name>RequestDataManager</ejb-name>
          <local>com.weblogic.RequestDataManagerLocal</local>
          <local-home>com.weblogic.RequestDataManagerLocalHome</local-home>
          <ejb-class>com.weblogic.RequestDataManagerBean</ejb-class>
          <session-type>Stateless</session-type>
          <transaction-type>Bean</transaction-type>
        </session>
      </enterprise-beans>
    </ejb-jar>Thanks for your time,
    Nate

    I also get the following exception right below the exception posted in the first post:
    org.xml.sax.SAXParseException: The content of element type "ejb-jar" must match "(description?,display-name?,small-icon?,large-icon?,enterprise-beans,relationships?,assembly-descriptor?,ejb-client-jar?)".]
    File: ejb-jar.xml Line: 14 Column: 21
    The nice thing about this exception is it shows the row and column. However, I can't figure out where this is in the ejb-jar.xml file? Does the parser smoosh everthing together and count from there? Or does the parser count from my formatting?
    Thanks again for your time,
    Nathan

  • How to use multiple ejb-jar.xml files

    Hello -
    If the project you work on has a lot of beans that you need to configure them in one ejb-jar.xml file. Then ejb-jar.xml file will be getting bigger and bigger. I am wondering if there is any way to divide the ejb-jar.xml file into multiple sub ejb-jar.xml files and then combin them together when deploy it. Same question question for the vendor ejb-jar.xml like weblogic-ejb-jar.xml.
    Thanks!
    Ben

    HI Ben,
    No, there is no notion of combining ejb-jar.xmls at deployment time in Java EE. There is no
    set limit on the number of ejb components within an ejb-jar module either.
    --ken                                                                                                                                                                                                                                                                                                                                                                                       

  • Weblogic 10.3.0 Deployment error when using ejb-jar.xml

    Hi,
    I am getting the following error while deploying my EJB3 application on Weblogic 10.3.0. This is happening only if I include ejb-jar.xml.
    As per the EJB3 descriptor spec, Remote Home or Local home are not exists.
    Is this a issue in Weblogic 10.3.0 or am I missing any special setup ?
    Please help.
    weblogic.application.ModuleException: Exception preparing module: EJBModule(egm-poc.jar)
    Unable to deploy EJB: C:\appsrv\domains\WeblogicRS1.1-domain\servers\admin\tmp\_WL_user\_appsdir_egmear_ear\ot2591\egm-poc.
    jar from egm-poc.jar:
    In EJB JPATestBean, both the remote home and remote component interface must be specified. Currently, only one of them is spec
    ified.
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:452)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
    My ejb-jar.xml is
    - <ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
    <description>JPA Test Application</description>
    <display-name>JPATest</display-name>
    - <enterprise-beans>
    - <session>
    <ejb-name>JPATestBean</ejb-name>
    <remote>egm.poc.jpa.JPATestBeanRemote</remote>
    <local>egm.poc.jpa.JPATestBeanLocal</local>
    <ejb-class>egm.poc.jpa.JPATestBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    - <session>
    <ejb-name>AuditInfoDAOH</ejb-name>
    <local>egm.poc.jpa.Audit</local>
    <ejb-class>egm.poc.jpa.AuditInfoDAOH</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    - <assembly-descriptor>
    - <container-transaction>
    - <method>
    <ejb-name>JPATestBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>RequiresNew</trans-attribute>
    </container-transaction>
    - <container-transaction>
    - <method>
    <ejb-name>AuditInfoDAOH</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    Regards
    Saji

    Hi,
    Seems the issue is not common. Can anyone throw some light on this ?
    Regards
    Saji

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

Maybe you are looking for