[Fwd: ACL for ejb-jar.xml?]

[email.eml]

The documentation of EJB security suffers because EJB relies half on Sun and
half on the container vendor (BEA, in this case). Sun's EJB documentation
(http://java.sun.com/products/ejb/index.html) is vague because it is a
standards specification, not a coding guide or implementation tutorial.
BEA's docs expect the reader to be adept at figuring out the details:
http://www.weblogic.com/docs51/classdocs/API_ejb/EJB_reference.html#1031011
Here is my (quick) stab at what the deployment descriptors need to look
like, starting with ejb-jar.xml:
<ejb-jar>
<enterprise-beans>
<!-- Other stuff here... -->
</enterprise-beans>
<assembly-descriptor>
<!-- Other stuff here... -->
<security-role>
<description>
This role is allowed to access the read-only methods in the
system.
</description>
<role-name>
ReadOnly
</role-name>
</security-role>
<method-permission>
<role-name>
ReadOnly
</role-name>
<method>
<ejb-name>
MyEJB
</ejb-name>
<method-name>
getName
</name-name>
</method>
<method>
<ejb-name>
MyOtherEJB
</ejb-name>
<method-name>
getOtherName
</name-name>
</method>
</method-permission>
</assembly-descriptor>
</ejb-jar>
It basically defines a security role named "ReadOnly" and maps that role to
the methods MyEJB.getName() and MyOtherEJB.getOtherName().
Here is an example weblogic-ejb-jar.xml:
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<!-- Other stuff here... -->
</weblogic-enterprise-bean>
<security-role-assignment>
<role-name>
Users
</role-name>
<principal-name>
everyone
</principal-name>
</security-role-assignment>
</weblogic-ejb-jar>
"ReadOnly" the security role defined in ejb-jar.xml.
"everyone" is the principal (user or group) defined by your Weblogic realm.
Weblogic realms and ACLs are documented:
http://www.weblogic.com/docs51/classdocs/API_acl.html
ltr, Shy
"minjiang" <[email protected]> wrote in message
news:[email protected]...
>
Hi:
I try to use ACL for my beans. It needs me to write the applicaiton
role in ejb-jar.xml file. But what is the correct format for this? I
cannot find any document on this. Seems to be a problem of Sun.
Can anyone give me an example on how to write these two xml files on
this?
Thanks.
minjiang--
S H Y E L A A B E R M A N
Architect, Development
HotelTools, Inc. - http://www.hoteltools.com
100 Galleria Parkway, Suite 1020
Atlanta, Georgia 30339
v: 770.956.4080 x5359
f: 770.956.4077
c: 678.458.3458
[email protected]
A dreamer is one who can only find hisway by moonlight, and his punishment
is that he sees the dawn before the restof the world. -- Oscar Wilde
Lose as if you like it; win as if youwere used to it. -- Tommy Hitchcock

Similar Messages

  • ACL for ejb-jar.xml?

    Hi:
    I try to use ACL for my beans. It needs me to write the applicaiton
    role in ejb-jar.xml file. But what is the correct format for this? I
    cannot find any document on this. Seems to be a problem of Sun.
    Can anyone give me an example on how to write these two xml files on
    this?
    Thanks.
    minjiang

    Hi:
    I try to use ACL for my beans. It needs me to write the applicaiton
    role in ejb-jar.xml file. But what is the correct format for this? I
    cannot find any document on this. Seems to be a problem of Sun.
    Can anyone give me an example on how to write these two xml files on
    this?
    Thanks.
    minjiang

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

  • No editor for ejb-jar.xml

    Hi,
    I'm on NWDS 7.1 sp 8.
    When I try to edit ejb-jar.xml and all the other J2ee XML files in netweaver developer Studio, I just get a standard XML editor. Can I change this to a guided editor, or do I need to edit the files using the XML editor?
    Regards
    Daniel Graversen

    Hi Daniel
    It seems the guided editors are not available in the NWDS.
    Try to use the standard XML editor. Since the XML descriptors have references to remote XML Schemas, the XML Editor knows which elements/attributes are allowed on each level. This will assist you while editing.
    BR, Sergei

  • Specification for ejb-jar.xml

    Hi,
    can anyone pls send a link where I can find specification for this xml. A doc that lists the hierarchical relationship of the tags and explains the purpose of each tag.
    could not find it on sun's website
    thanx n regards

    http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtdThis is the DTD for EJB 1.1 specifications. You should atleast refer to 2.0 or 2.1 to make use of the specifications provided by most of the recent app servers.
    Here's a link:
    http://e-docs.bea.com/wls/docs70/ejb/reference.htmlYou might find a recent one on Weblogic 8.1 documentation.

  • Error compiling ejb-jar.xml. Help!!

    I do not know why this xml file is giving me the errors displayed below.
    Thank you in advance.
    Here is my xml file:
    <?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>ObjectConnectorBean</ejb-name>
    <display-name>ObjectConnector</display-name>
    <home>com.harris.netboss.shared.posting.ObjectConnectorHome</home>
    <remote>com.harris.netboss.shared.posting.ObjectConnector</remote>
    <ejb-class>com.harris.netboss.shared.posting.ObjectConnectorBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>com.harris.netboss.shared.posting.ObjectConnectorPK</prim-ke
    y-class>
    <reentrant>False</reentrant>
    </entity>
    </enterprise-beans>
    </ejb-jar>
    Here is the error message:
    org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Exception.java:42)
    at org.xml.sax.SAXException.<init>(SAXException.java:45)
    at org.xml.sax.SAXParseException.<init>(SAXParseException.java:56)
    at
    weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1008)
    at
    weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLEr
    ror(XMLValidator.java:1280)
    at
    weblogic.apache.xerces.validators.common.XMLValidator.callEndElement(Compile
    d Code)
    at
    weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispat
    ch(Compiled Code)
    at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(Compiled
    Code)
    at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
    at weblogic.xml.process.ProcessorDriver.process(ProcessorDriver.java:128)
    at
    weblogic.ejb20.dd.xml.EjbJarLoader_EJB20.process(EjbJarLoader_EJB20.java:919
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:74)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:47)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:38)
    at weblogic.ejbc20.runBody(Compiled Code)
    at weblogic.utils.compiler.Tool.run(Tool.java:81)
    at weblogic.ejbc.main(ejbc.java:20)
    --------------- nested within: ------------------
    weblogic.xml.process.XMLParsingException: The content of element type
    "entity" must match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    . - with nested exception:
    [org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    .] Line: 16 Column: 16
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at weblogic.utils.NestedException.<init>(NestedException.java:18)
    at
    weblogic.xml.process.XMLParsingException.<init>(XMLParsingException.java:17)
    at weblogic.xml.process.ProcessorDriver.process(ProcessorDriver.java:132)
    at
    weblogic.ejb20.dd.xml.EjbJarLoader_EJB20.process(EjbJarLoader_EJB20.java:919
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:74)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:47)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:38)
    at weblogic.ejbc20.runBody(Compiled Code)
    at weblogic.utils.compiler.Tool.run(Tool.java:81)
    at weblogic.ejbc.main(ejbc.java:20)
    ERROR: weblogic.xml.process.XMLParsingException: The content of element type
    "entity" must match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    . - with nested exception:
    [org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    .] Line: 16 Column: 16

    looks like your xml file(ejb-jar.xml) is missing some required tag element or
    the elements are out of
    order. the format is specified in a dtd, you should take a look at the dtd for
    ejb-jar.xml. for wl5.1, try looking under c:\weblogic for ejb-jar.dtd
    Richard Ong wrote:
    I do not know why this xml file is giving me the errors displayed below.
    Thank you in advance.
    Here is my xml file:
    <?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>ObjectConnectorBean</ejb-name>
    <display-name>ObjectConnector</display-name>
    <home>com.harris.netboss.shared.posting.ObjectConnectorHome</home>
    <remote>com.harris.netboss.shared.posting.ObjectConnector</remote>
    <ejb-class>com.harris.netboss.shared.posting.ObjectConnectorBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>com.harris.netboss.shared.posting.ObjectConnectorPK</prim-ke
    y-class>
    <reentrant>False</reentrant>
    </entity>
    </enterprise-beans>
    </ejb-jar>
    Here is the error message:
    org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Exception.java:42)
    at org.xml.sax.SAXException.<init>(SAXException.java:45)
    at org.xml.sax.SAXParseException.<init>(SAXParseException.java:56)
    at
    weblogic.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1008)
    at
    weblogic.apache.xerces.validators.common.XMLValidator.reportRecoverableXMLEr
    ror(XMLValidator.java:1280)
    at
    weblogic.apache.xerces.validators.common.XMLValidator.callEndElement(Compile
    d Code)
    at
    weblogic.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispat
    ch(Compiled Code)
    at weblogic.apache.xerces.framework.XMLDocumentScanner.parseSome(Compiled
    Code)
    at weblogic.apache.xerces.framework.XMLParser.parse(XMLParser.java:900)
    at weblogic.xml.process.ProcessorDriver.process(ProcessorDriver.java:128)
    at
    weblogic.ejb20.dd.xml.EjbJarLoader_EJB20.process(EjbJarLoader_EJB20.java:919
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:74)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:47)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:38)
    at weblogic.ejbc20.runBody(Compiled Code)
    at weblogic.utils.compiler.Tool.run(Tool.java:81)
    at weblogic.ejbc.main(ejbc.java:20)
    --------------- nested within: ------------------
    weblogic.xml.process.XMLParsingException: The content of element type
    "entity" must match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    . - with nested exception:
    [org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    .] Line: 16 Column: 16
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.<init>(Compiled Code)
    at java.lang.Exception.<init>(Compiled Code)
    at weblogic.utils.NestedException.<init>(NestedException.java:18)
    at
    weblogic.xml.process.XMLParsingException.<init>(XMLParsingException.java:17)
    at weblogic.xml.process.ProcessorDriver.process(ProcessorDriver.java:132)
    at
    weblogic.ejb20.dd.xml.EjbJarLoader_EJB20.process(EjbJarLoader_EJB20.java:919
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:74)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:47)
    at weblogic.ejb20.dd.xml.DDUtils.loadDeploymentDescriptor(DDUtils.java:38)
    at weblogic.ejbc20.runBody(Compiled Code)
    at weblogic.utils.compiler.Tool.run(Tool.java:81)
    at weblogic.ejbc.main(ejbc.java:20)
    ERROR: weblogic.xml.process.XMLParsingException: The content of element type
    "entity" must match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    . - with nested exception:
    [org.xml.sax.SAXParseException: The content of element type "entity" must
    match
    "(description?,display-name?,small-icon?,large-icon?,ejb-name,home,remote,ej
    b-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-sche
    ma-name?,cmp-field*,primkey-field?,transaction-scope?,env-entry*,ejb-ref*,se
    curity-role-ref*,security-identity?,resource-ref*,resource-env-ref*,query*)"
    .] Line: 16 Column: 16

  • ModelException when moving Activation properties for MDB to ejb-jar.xml

    Hi,
    I have an MDB called BatchMdb that needs to be deployed into both JBoss and SAP NetWeaver. This means I have different activation config properties depending on the application server. So I cannot specify the properties by annotation, I have to place them in the ejb-jar.xml. It works fine in JBoss, but in the SAP IDE, I get this exception:
    EJB Model Builder: Exception occurred: com.sap.engine.services.ejb3.model.impl.ModelException: There is no bean BatchMdb defined in module auth_app*annotation|src. at com.sap.engine.services.ejb3.model.impl.ModuleImpl.getBeanImpl(ModuleImpl.java:181)
    For some reason, the IDE does not like the entry in ejb-jar.xml for the MDB. This looks like a bug to me. Comments, anyone?
    Regards,
    Johan

    Hi Vladimir
    Here's the stack trace:
    com.sap.engine.services.ejb3.model.impl.ModelException: There is no bean MDBBean defined in module testMdb*annotation|ejbModule.
         at com.sap.engine.services.ejb3.model.impl.ModuleImpl.getBeanImpl(ModuleImpl.java:181)
         at com.sap.engine.services.ejb3.model.builders.xml.BeanCommonBuilder.importMetadataFromEJBJarXml(BeanCommonBuilder.java:42)
         at com.sap.engine.services.ejb3.model.builders.xml.MessageBeanBuilder.importMetadataFromEJBJarXml(MessageBeanBuilder.java:41)
         at com.sap.engine.services.ejb3.model.builders.xml.BrieflyDescribedBuilder.process(BrieflyDescribedBuilder.java:44)
         at com.sap.engine.services.ejb3.model.builders.xml.ModuleBuilder.processMessageBeans(ModuleBuilder.java:201)
         at com.sap.engine.services.ejb3.model.builders.xml.ModuleBuilder.processEnterpriseBeans(ModuleBuilder.java:128)
         at com.sap.engine.services.ejb3.model.builders.xml.ModuleBuilder.importMetadataFromEJBJarXml(ModuleBuilder.java:85)
         at com.sap.engine.services.ejb3.model.builders.xml.ModuleBuilder.process(ModuleBuilder.java:73)
         at com.sap.engine.services.ejb3.model.builders.xml.XMLModelFiller.perform(XMLModelFiller.java:55)
         at com.sap.engine.services.ejb3.model.builders.CompositeModuleBuilder.getXmlModule(CompositeModuleBuilder.java:135)
         at com.sap.engine.services.ejb3.model.builders.CompositeModuleBuilder.buildModule(CompositeModuleBuilder.java:90)
         at com.sap.tc.jtools.jlinee.ejb.model.EJBModelBuilder.buildJEE5(EJBModelBuilder.java:200)
         at com.sap.tc.jtools.jlinee.ejb.model.EJBModelBuilder.build(EJBModelBuilder.java:88)
         at com.sap.tc.jtools.jlinee.lib.model.impl.AbstractModelBuilderTest.execute(AbstractModelBuilderTest.java:48)
         at com.sap.tc.jtools.jlinee.lib.AbstractJ2EETest.executeWithStatus(AbstractJ2EETest.java:149)
         at com.sap.tc.jtools.jlinee.lib.framework.dependency.Node.execute(Node.java:212)
         at com.sap.tc.jtools.jlinee.lib.framework.JLinEETestProcessor.executeAll(JLinEETestProcessor.java:153)
         at com.sap.tc.jtools.jlinee.lib.framework.JLinEETestProcessor.execute(JLinEETestProcessor.java:123)
         at com.sap.engine.jlinee.lib.impl.TestManager.executeTestsForAppComponent(TestManager.java:154)
         at com.sap.engine.jlinee.lib.impl.TestManager.executeTests(TestManager.java:89)
         at com.sap.engine.jlinee.lib.JLinEEValidatorImpl.validateApplication(JLinEEValidatorImpl.java:143)
         at com.sap.engine.jlinee.lib.JLinEEValidatorImpl.validateApplication(JLinEEValidatorImpl.java:127)
         at com.sap.tc.jtools.jlint.validation.wtp.JLinEEValidator.validate(JLinEEValidator.java:69)
         at org.eclipse.wst.validation.internal.core.ValidatorLauncher.start(ValidatorLauncher.java:98)
         at org.eclipse.wst.validation.internal.operations.ValidationOperation.launchValidator(ValidationOperation.java:1286)
         at org.eclipse.wst.validation.internal.operations.ValidationOperation.internalValidate(ValidationOperation.java:1101)
         at org.eclipse.wst.validation.internal.operations.ValidationOperation.validate(ValidationOperation.java:996)
         at org.eclipse.wst.validation.internal.operations.ValidationOperation.run(ValidationOperation.java:657)
         at org.eclipse.wst.validation.internal.operations.ValidationBuilder.build(ValidationBuilder.java:203)
         at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
         at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
         at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
         at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
         at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
         at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
         at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
         at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
         at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
         at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
         at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
          [Error: com.sap.tc.jtools.jlinee.lib  Thread[Worker-85,5,main]]

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

  • Common lookup for datasource name in ejb-jar.xml for all EJB's??

    I used <env-entry>...</env-entry> in ejb-jar.xml ...but that does not allow me to look the same entry in another EJB ...what is the right place to keep and look for such a information ?
    EJBing recently !!
    Thanks
    Ajay

    I am sorry friend, that is not what i am looking for.
    I have datasource/connection pool and do not want to hardcode the name into all EJB's rather want to access it from xml file. If i use
    <env-entry> that is for a perticular session or entity bean. and i have to write that for all 35 beans. I believe there shoule be a tag to access globaly.
    thanks for considering me to reply.
    Ajay

  • Orion-ejb-jar.xml for oc4j and xdoclet

    Does anybody try to use xdoclet to generate orion-ejb-jar.xml with ejb relation?
    Could somebody show me any example of definition relation for xdoclet and orion-ejb-jar.xml? (@orion:persistence...)
    thanks for any advice... :-)
    Zajo

    Hello,
    The warning message looks to be unrelated to the java.lang.IllegalArgumentException error. The warning states that optimistic locking cannot be migrated to the toplink-ejb-jar.xml file; this is stated in chapter 7 of the TopLink developer's guide at
    http://download-west.oracle.com/otn_hosted_doc/toplink/1013/MAIN/_pdf/b13593_v1_01.pdf
    The exception though seems to indicate that your orion-ejb-jar.xml contains EJBs mapped to the same table that are not related through EJB inheritance. I do it all the time with POJOs so this will work in TopLink, but you will need a support case to help get your project migrated if this is the case.
    Best Regards,
    Chris Delahunt

  • Deployment plan fails for weblogic-ejb-jar.xml

    FILE FOR PLAN TO ACT ON:
    application.ear\ReferenceTableSession.jar\META-INF\weblogic-ejb-jar.xml
    <?xml version="1.0" encoding="utf-8"?>
    <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/10.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/10.0 http://www.bea.com/ns/weblogic/10.0/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>referencetablesession</ejb-name>
    <stateless-session-descriptor>
    <pool>
    <max-beans-in-free-pool>100</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <stateless-clustering>
    <stateless-bean-is-clusterable>true</stateless-bean-is-clusterable>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>150</trans-timeout-seconds>
    </transaction-descriptor>
    <enable-call-by-reference>true</enable-call-by-reference>
    <jndi-name>XYZ_ejb/ProviderMaintSvc/referencetablesession</jndi-name>
    </weblogic-enterprise-bean>
    <transaction-isolation>
    <isolation-level>TransactionReadCommitted</isolation-level>
    <method>
    <ejb-name>referencetablesession</ejb-name>
    <method-name>*</method-name>
    </method>
    </transaction-isolation>
    </weblogic-ejb-jar>
    DEPLOYMENT PLAN:
    <?xml version='1.0' encoding='utf-8'?>
    <deployment-plan xmlns="http://www.bea.com/ns/weblogic/deployment-plan"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/deployment-plan http://www.bea.com/ns/weblogic/deployment-plan/1.0/deployment-plan.xsd">
    <application-name>application.ear</application-name>
    <variable-definition>
    <variable>
    <name>VAR_referencetablesession</name>
    <value>ejb/ProviderClaimOnlineSvc/referencetablesession</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>ReferenceTableSession.jar</module-name>
    <module-type>ejb</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-ejb-jar</root-element>
    <uri>META-INF/weblogic-ejb-jar.xml</uri>
    <variable-assignment>
    <name>VAR_referencetablesession</name>
         <xpath>/weblogic-ejb-jar/weblogic-enterprise-bean/\[ejb-name="referencetablesession"\]/jndi-name</xpath>
    <operation>replace</operation>
    </variable-assignment>
    </module-descriptor>
    </module-override>
    <config-root>servers/AdminServer/upload</config-root>
    </deployment-plan>
    ERROR FROM CONSOLE:
    Message icon - Error An error occurred during activation of changes, please see the log for details.
    Message icon - Error Exception preparing module: EJBModule(ReferenceTableSession.jar) [EJB:011023]An error occurred while reading the deployment descriptor. The error was: Unmarshaller failed.
    Message icon - Error Bean already exists: "[email protected]f2(/WeblogicEnterpriseBeans[referencetablesession])"
    ERROR FROM LOG:
    <Oct 2, 2009 1:08:25 PM CDT> <Error> <J2EE> <BEA-160197> <Unable to load descriptor servers/ms34/tmp/_WL_user/ProviderClaimOnlineSvc/y1anoa/ReferenceTableSession.jar/META-INF/weblogic-ejb-jar.xml of module ReferenceTableSession.jar. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
    at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152)
    at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.mergeDescriptorBeanWithPlan(AbstractDescriptorLoader2.java:703)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:776)
    at weblogic.ejb.spi.EjbJarDescriptor.parseWeblogicEjbJarBean(EjbJarDescriptor.java:160)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processWLEjbJarXMLWithSchema(EjbDescriptorReaderImpl.java:719)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.parseWLDD(EjbDescriptorReaderImpl.java:541)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processWeblogicEjbJarXML(EjbDescriptorReaderImpl.java:380)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:191)
    at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93)
    at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1198)
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:380)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    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)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
    at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    at weblogic.deploy.internal.targetserver.operations.RedeployOperation.createAndPrepareContainer(RedeployOperation.java:98)
    at weblogic.deploy.internal.targetserver.operations.RedeployOperation.doPrepare(RedeployOperation.java:122)
    Thanks,
    Rob
    Edited by: user11337024 on Oct 5, 2009 2:31 PM

    FILE FOR PLAN TO ACT ON:
    application.ear\ReferenceTableSession.jar\META-INF\weblogic-ejb-jar.xml
    <?xml version="1.0" encoding="utf-8"?>
    <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/10.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/10.0 http://www.bea.com/ns/weblogic/10.0/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>referencetablesession</ejb-name>
    <stateless-session-descriptor>
    <pool>
    <max-beans-in-free-pool>100</max-beans-in-free-pool>
    <initial-beans-in-free-pool>0</initial-beans-in-free-pool>
    </pool>
    <stateless-clustering>
    <stateless-bean-is-clusterable>true</stateless-bean-is-clusterable>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>150</trans-timeout-seconds>
    </transaction-descriptor>
    <enable-call-by-reference>true</enable-call-by-reference>
    <jndi-name>XYZ_ejb/ProviderMaintSvc/referencetablesession</jndi-name>
    </weblogic-enterprise-bean>
    <transaction-isolation>
    <isolation-level>TransactionReadCommitted</isolation-level>
    <method>
    <ejb-name>referencetablesession</ejb-name>
    <method-name>*</method-name>
    </method>
    </transaction-isolation>
    </weblogic-ejb-jar>
    DEPLOYMENT PLAN:
    <?xml version='1.0' encoding='utf-8'?>
    <deployment-plan xmlns="http://www.bea.com/ns/weblogic/deployment-plan"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/deployment-plan http://www.bea.com/ns/weblogic/deployment-plan/1.0/deployment-plan.xsd">
    <application-name>application.ear</application-name>
    <variable-definition>
    <variable>
    <name>VAR_referencetablesession</name>
    <value>ejb/ProviderClaimOnlineSvc/referencetablesession</value>
    </variable>
    </variable-definition>
    <module-override>
    <module-name>ReferenceTableSession.jar</module-name>
    <module-type>ejb</module-type>
    <module-descriptor external="false">
    <root-element>weblogic-ejb-jar</root-element>
    <uri>META-INF/weblogic-ejb-jar.xml</uri>
    <variable-assignment>
    <name>VAR_referencetablesession</name>
         <xpath>/weblogic-ejb-jar/weblogic-enterprise-bean/\[ejb-name="referencetablesession"\]/jndi-name</xpath>
    <operation>replace</operation>
    </variable-assignment>
    </module-descriptor>
    </module-override>
    <config-root>servers/AdminServer/upload</config-root>
    </deployment-plan>
    ERROR FROM CONSOLE:
    Message icon - Error An error occurred during activation of changes, please see the log for details.
    Message icon - Error Exception preparing module: EJBModule(ReferenceTableSession.jar) [EJB:011023]An error occurred while reading the deployment descriptor. The error was: Unmarshaller failed.
    Message icon - Error Bean already exists: "[email protected]f2(/WeblogicEnterpriseBeans[referencetablesession])"
    ERROR FROM LOG:
    <Oct 2, 2009 1:08:25 PM CDT> <Error> <J2EE> <BEA-160197> <Unable to load descriptor servers/ms34/tmp/_WL_user/ProviderClaimOnlineSvc/y1anoa/ReferenceTableSession.jar/META-INF/weblogic-ejb-jar.xml of module ReferenceTableSession.jar. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
    at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:152)
    at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:306)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:788)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.mergeDescriptorBeanWithPlan(AbstractDescriptorLoader2.java:703)
    at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:776)
    at weblogic.ejb.spi.EjbJarDescriptor.parseWeblogicEjbJarBean(EjbJarDescriptor.java:160)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processWLEjbJarXMLWithSchema(EjbDescriptorReaderImpl.java:719)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.parseWLDD(EjbDescriptorReaderImpl.java:541)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.processWeblogicEjbJarXML(EjbDescriptorReaderImpl.java:380)
    at weblogic.ejb.container.dd.xml.EjbDescriptorReaderImpl.createReadOnlyDescriptorFromJarFile(EjbDescriptorReaderImpl.java:191)
    at weblogic.ejb.spi.EjbDescriptorFactory.createReadOnlyDescriptorFromJarFile(EjbDescriptorFactory.java:93)
    at weblogic.ejb.container.deployer.EJBModule.loadEJBDescriptor(EJBModule.java:1198)
    at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:380)
    at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
    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)
    at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
    at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
    at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
    at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:16)
    at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
    at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
    at weblogic.deploy.internal.targetserver.operations.RedeployOperation.createAndPrepareContainer(RedeployOperation.java:98)
    at weblogic.deploy.internal.targetserver.operations.RedeployOperation.doPrepare(RedeployOperation.java:122)
    Thanks,
    Rob
    Edited by: user11337024 on Oct 5, 2009 2:31 PM

  • Access ejb-jar.xml progrmmatically for viewing the  user roles and methods

    We are using Weblogic 8.1 sp 4 (jdk 1.4.2). Is there any way within our application where we can display all the methods a user can access and all the roles available within ejb-jar.xml ?
    Thanks in Advance
    DRG

    Local interfaces are for communication between ejbs and their clients when both are in the same JVM. The clients can be normal clients, jsps, servlets, and other ejbs. If the client is not in the same JVM you cannot use local interfaces even though your client is another ejb.
    Advantage of using local interface is it reduces the network overhead.
    For more information you can download Mastering Enterprise Java Beans Third Edition by Ed Roman. You can go through 45
    You can download pdf version from.
    http://www.theserverside.com/books/wiley/masteringEJB/index.tss.
    Let me know the URL of the ejb doc that you referred.
    Thanks..

  • O/R tool generates invalid ejb-jar.xml for 1-n cmp bean-to-bean relations

    TopLink generates:
    <ejb-relation>
    <ejb-relation-name>Parent-Child</ejb-relation-name>
    <ejb-relationship-role>
    <ejb-relationship-role-name>Parent-has-childs</ejb-relationship-role-name>
    <multiplicity>One</multiplicity>
    <relationship-role-source>
    <ejb-name>Parent</ejb-name>
    </relationship-role-source>
    <cmr-field>
    <cmr-field-name>childs</cmr-field-name>
    </cmr-field>
    </ejb-relationship-role>
    <ejb-relationship-role>
    <ejb-relationship-role-name>child-owned-by-Parent</ejb-relationship-role-name>
    <multiplicity>Many</multiplicity>
    <cascade-delete></cascade-delete>
    <relationship-role-source>
    <ejb-name>Child</ejb-name>
    </relationship-role-source>
    </ejb-relationship-role>
    </ejb-relation>
    what's wrong?
    it's missing the following tag:
    '<cmr-field-type>java.util.Collection</cmr-field-type>'
    which should be in the <cmr-field> element after the <cmr-field-name>.
    I cannot get the UI tool to add this tag, whenever I manually add it to the ejb-jar.xml it gets removed the next time I generate the ejb-jar.xml. Additionally, if I try to update the project from the ejb-jar.xml, the O/R tool loses ALL my mappings for entity beans.
    Expected questions:
    TopLink 9.0.3
    WebLogic 7.0.1
    CMP 2.0
    JDK 1.3.1_03
    Yes the getter/setter are defined (on the local interface and bean)
    FYI,
    Andrew

    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>

  • Ejb-jar.xml for  a file adapter in 710

    Hi,
    we moved our file adapter from 700 to 710. Now there is a problem in ejb-jar.xml. There are entries like this:
    <session>
    <description></description>
    <display-name></display-name>
    <icon/>
    <ejb-name>FileActConversionToSWIFTModuleBean</ejb-name>
    <home>com.sap.aii.af.lib.mp.module.ModuleHome</home>
    <remote>com.sap.aii.af.lib.mp.module.ModuleRemote</remote>
    <local-home>com.sap.aii.af.lib.mp.module.ModuleLocalHome</local-home>
    <local>com.sap.aii.af.lib.mp.module.ModuleLocal</local>
    <ejb-class>com.sapcons.xi.swift.FileActConversionToSWIFTModuleBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    The error messages are like this:
    Bean Interfaces: stateless bean "FileActConversionToSWIFTModuleBean" should have at least one of the following interface pairs: "local" and "local-home", "home" and "remote" or service endpoint interface
    Bean Interfaces: The home interface "com.sap.aii.af.lib.mp.module.ModuleHome" cannot be found in the search path.
    What is wrong? The interfaces ModuleHome etc. seem not to be here any more. Which interfaces should be entered in ejb-jar.xml for release 710?
    Thanks and regards, Marina

    Hi,
    yes, there is a module for file adapter. Some modifications were implemented, too. I can imagine that something was forgotten. It is possible to do the build, to deploy and to test the adapter, even if there are errors in ejb-jar.xml .
    Is there a list which things that changed between 700 and 710? 
    I have these 2 links with useful information:
    [Developing Adapters and Modules|http://help.sap.com/saphelp_nwpi71/helpdata/en/8b/895e407aa4c44ce10000000a1550b0/content.htm ]
    [Javadoc PI 7.1 (Adapter, Module and Mapping Development)|http://help.sap.com/javadocs/pi/SP3/xpi/index.html]
    Is there further information for this topic?
         Thanks and regards, Marina

  • Weblogic-ejb-jar.xml for a Session EJB

    The weblogic-ejb-jar.xml generated for a Session EJB with local interfaces has a jndi-name element instead of local-jndi-name.
    1. Create a Session EJB.
    Select Include Local Interfaces.
    2. In the META-INF directory select New>General>Deployment Descriptors>weblogic-ejb-jar.xml
    The deployment descriptor generated has a jndi-name element.
    For a Session EJB with local interfaces the element should be local-jndi-name.
    thanks,
    Deepak

    weblogic-ejb-jar.xml jndi-name (instead of local-jndi-name) is with JDeveloper version 10.1.2 & 10.1.3

Maybe you are looking for