geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Mulder <ammul...@alumni.princeton.edu>
Subject Re: Reference question
Date Tue, 24 Jan 2006 22:00:09 GMT
Your ejb-jar.xml should not have a configId or parentId -- those are
Geronimo tags.  So that's causing the error below, and removing that
stuff from ejb-jar.xml should fix it.

Your openejb-jar.xml correctly has configId="test-ejb-1.0.1" -- that's good.

However, your geronimo-web.xml has parentid="test-ebj-1.0.1" -- as
David pointed out this should be parentId not parentid, and also the
value should be test-ejb-1.0.1 (to match the configId in
openejb-jar.xml) and not test-ebj-1.0.1 (which does not match
anything!).

Thanks,
   Aaron

On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com> wrote:
> I see what you mean, but this is now the errormessage:
>
>   Invalid deployment descriptor: [error: cvc-complex-type.3.2.1:
>   Attribute not allowed (no wildcards allowed): configId in element
>   web-app@http://java.sun.com/xml/ns/j2ee, error:
>   cvc-complex-type.3.2.1: Attribute not allowed (no wildcards
>   allowed): parentId in element
>   web-app@http://java.sun.com/xml/ns/j2ee]
>  --------------------------------------------------
> Is ther someting with the deployment of the EJB when it's not possible
> to se the classes in Geronimo filesystem?
>
> Stein
>
>
> David Jencks writes:
>
> > According to our deployer the actual plan you are deploying has a  typo,
> > parentid (lower case i) instead of parentId (upper case I)
> >
> > hope this helps
> > david jencks
> >
> > On Jan 24, 2006, at 8:52 PM, Stein Kråbøl wrote:
> >
> >> Thank you for your response!
> >>
> >> The error now is:
> >> C:\web\geronimo-1.0\bin>deploy --user system --password manager  deploy
> >> c:\project\my-webapp\target\my-webapp-1.0.war
> >>   Error: Unable to distribute my-webapp-1.0.war: Unable to load first
> >>   parent of configuration MyWebApp-1.0
> >>       No configuration with id: test-ebj-1.0.1
> >> ------------------------------------------------------
> >> Header of web.xml:
> >> web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> >>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >>        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> >>        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> >>        version="2.4">
> >> When I put configId and parentID here I got error when deployd:
> >>  Error: Unable to distribute my-webapp-1.0.war: xml problem
> >>      Invalid deployment descriptor: [error: cvc-complex-type.3.2.1:
> >>  Attribute not allowed (no wildcards allowed): parentid]
> >>  Descriptor: <xml-fragment configId="MyWebApp-1.0"
> >>  parentid="test-ebj-1.0.1"
> >>  xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
> >>  xmlns:jet="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.0">
> >> It is here I have:
> >>   <ejb-ref>
> >>       <ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
> >>       <ejb-ref-type>Session</ejb-ref-type>
> >>       <home>com.tellussoft.Test.BonusCalculatorHome</home>
> >>       <remote>com.tellussoft.Test.BonusCalculator</remote>
> >>   </ejb-ref>
> >> --------------------------------------------------------
> >> Header of geronimo.xml:
> >> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"
> >>        xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
> >>        configId="MyWebApp-1.0"
> >>        parentId="test-ebj-1.0.1">
> >> (so this cased the error abowe...)
> >> --------------------------------------------------------
> >> ejb-jar.xml:
> >> <?xml version="1.0" encoding="UTR-8"?>
> >> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
> >>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >>   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> >>   http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
> >>   version="2.1"
> >>   configId="test-ejb-1.0.1">
> >> --------------------------------------------------------
> >> openejb.xml:
> >> <openejb-jar
> >> xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.0"
> >> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
> >> xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
> >> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.0"
> >> xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
> >> inverseClassloading="false"
> >> configId="test-ejb-1.0.1">
> >> --------------------------------------------------------
> >> Stein
> >> Give me more options please! I'm in a hurry...
> >>
> >> Aaron Mulder writes:
> >>> In your geronimo-web.xml (the one with the EJB reference) add a
> >>> parentId attribute to the web-app element right after the  configId. The
> >>> parentId of the WAR file should be set to be the  same as the
> >>> configId of the EJB JAR file.  That will add the EJB JAR classes to
> >>> the class path of the WAR so it should be able to access the EJB
> >>> classes. Thanks,
> >>>     Aaron On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com> wrote:
> >>>> The thing is (as posted earlier) that when I put
> >>>>    <ejb-ref>
> >>>>        <ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
> >>>>        <ejb-ref-type>Session</ejb-ref-type>
> >>>>        <home>com.tellussoft.Test.BonusCalculatorHome</home>
> >>>>        <remote>com.tellussoft.Test.BonusCalculator</remote>
> >>>>    </ejb-ref>
> >>>> I get an error when deploying:
> >>>>    Error: Unable to distribute my-webapp-1.0.war: Error processing
> >>>>    'remote' element for EJB Reference 'ejb/BCalcREJB' for module
> >>>>    'MyWebApp-1.0': Remote interface class not found:
> >>>>    com.tellussoft.Test.BonusCalculator
> >>>>  ------------------------------------
> >>>> In my openejb-jar:
> >>>> <enterprise-beans>
> >>>>  <session>
> >>>>     <ejb-name>BCalcREJB</ejb-name>
> >>>>     <jndi-name>ejb/BCalcREJB</jndi-name>
> >>>> </session>
> >>>> </enterprise-beans>
> >>>> Now, I beleave the class files in the ejb.jar fil should be found in
> >>>> the file structure of Geronimo, but they are not there.
> >>>>  ------------------------------------
> >>>> In config-store/index.properties:
> >>>> ...
> >>>> geronimo/client-security/1.0/car=14
> >>>> test-ejb-1.0.1=59
> >>>> geronimo/geronimo-gbean-deployer/1.0/car=17
> >>>> ...
> >>>> and in
> >>>> configstore/59
> >>>>    ejb                    6kb
> >>>>    META-INF/config.ser    18kb
> >>>>  ------------------------------------
> >>>> Structure of test-ejb-1.0.1.jar:
> >>>> META-INF/openejb-jar.xml
> >>>> META-INF/ejb-jar.xml
> >>>> META-INF/MANIFEST.MF
> >>>> com/tellussoft/Test/LocalBonusCalculatorHome.class
> >>>> com/tellussoft/Test/LocalBonusCalculator.class
> >>>> com/tellussoft/Test/BonusCalculatorHome.class
> >>>> com/tellussoft/Test/LocalBonusCalculatorBean.class
> >>>> com/tellussoft/Test/BonusCalculator.class
> >>>>  -------------------------------------
> >>>> What am I doing wrong?
> >>>> I'm a little desperate case I have to get this to work by tomorrow.
> >>>> Stein
> >>>> Aaron Mulder writes:
> >>>> > You need an EJB Reference in your WAR (in Geronimo, a web app 
can't
> >>>> > look up an EJB in JNDI unless there's an EJB Reference in the
> >>>> > web.xml).  It's easiest if your EJB JAR and WAR are deployed as
 part
> >>>> > of an EAR so you can use an <ejb-link> in the EJB Reference
in
> >>>> web.xml
> >>>> > and then you don't need any Geronimo-specific information.  If
 the
> >>>> EJB
> >>>> > JAR and WAR are deployed separately, you'll probably need a
> >>>> > geronimo-web.xml that maps the EJB reference in web.xml to the
> >>>> correct
> >>>> > EJB in the EJB JAR.  See, for example,
> >>>> >
> >>>> > http://chariotsolutions.com/geronimo/web-plan.html#id2591236
> >>>> > using the geronimo-web.xml syntax described at
> >>>> > http://chariotsolutions.com/geronimo/web-plan.html#web-plan-refs
> >>>> >
> >>>> > Anyway, once your EJB reference is set up, if the EJB reference
 name
> >>>> > is ejb/BCalcREJB then you'll look it up in JNDI at
> >>>> > java:comp/env/ejb/BCalcREJB (generally, it's java:comp/env/ [name
of
> >>>> > EJB reference])
> >>>> >
> >>>> > Thanks,
> >>>> >     Aaron
> >>>> >
> >>>> > On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com> wrote:
> >>>> >> Help!
> >>>> >> I have deployed my first EJB modul without error.
> >>>> >>
> >>>> >> ejb-jar.xml:
> >>>> >>
> >>>> >> <?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>
> >>>> >>  <enterprise-beans>
> >>>> >>      <session>
> >>>> >>          <display-name>Stateless Session Bean with Remote
> >>>> >> Interfaces</display-name>
> >>>> >>          <ejb-name>BCalcREJB</ejb-name>
> >>>> >>          <home>com.tellussoft.Test.BonusCalculatorHome</home>
> >>>> >>          <remote>com.tellussoft.Test.BonusCalculator</remote>
> >>>> >> <local-home>com.tellussoft.Test.LocalBonusCalculatorHome</
> >>>> local-home>
> >>>> >>          <local>com.tellussoft.Test.LocalBonusCalculator</local>
> >>>> >>          <ejb-class>com.tellussoft.Test.BonusCalculatorBean</
> >>>> ejb-class>
> >>>> >>          <session-type>Stateless</session-type>
> >>>> >>          <transaction-type>Container</transaction-type>
> >>>> >>      </session>
> >>>> >>  </enterprise-beans>
> >>>> >> </ejb-jar>
> >>>> >>
> >>>> >> I'm trying to connect to it with a servlet in an standalone
war.
> >>>> >> What is the correct syntax for the lookup method?
> >>>> >>                         Object homeObject = context.lookup
> >>>> ("java:comp/ejb/BCalcREJB");
> >>>> >> I have tried all the variants I can think of!
> >>>> >> BCalcREJB
> >>>> >> java:comp/env/ejb/BCalcREJB
> >>>> >> java:comp/env/BCalcREJB
> >>>> >> ejb/BCalcREJB
> >>>> >> Is there any other method to verify JNDI names tied to a EJBs?
> >>>> >>
> >>>> >> Stein
> >>>> >>
> >>>> >>
> >>>>
> >
>
>

Mime
View raw message