I'm confused -- the geronimo-web.xml that you show has a configId of
"MyWebApp-1.0" but the error is for a module called "my-webapp-1.0"...
Are you sure you're using the geronimo-web.xml that you think you
are? Have you tried passing both the WAR file and the
geronimo-web.xml on the command line to the deploy tool?
I wouldn't rule out the possibility that we have a problem in the
class loader we using while validating EJB references, but so far I
don't think I'm convinced that the problem isn't with the plans and
deployment and so on.
Thanks,
Aaron
On 1/24/06, Stein Kråbøl <[EMAIL PROTECTED]> wrote:
> The error now:
> Error: Unable to distribute my-webapp-1.0.war: Error processing
> 'remote' element for EJB Reference 'ejb/BCalcREJB' for module
> 'my-webapp-1.0': Remote interface class not found:
> com.tellussoft.Test.BonusCalculator
> --------------------------------------------------
> web.xml:
> ?xml version="1.0" encoding="UTR-8"?>
> <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">
> still with:
> <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>
> --------------------------------------------------
> geronimo-web.xml:
> ?xml version="1.0" encoding="UTR-8"?>
> <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-ejb-1.0.1">
> --------------------------------------------------
> openejb-jar.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <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">
> --------------------------------------------------
> 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">
> --------------------------------------------------
> What about my other question: files in geronimo after deploing?
> Stein
>
> Aaron Mulder writes:
>
> > 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 <[EMAIL PROTECTED]> 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
> >> [EMAIL PROTECTED]://java.sun.com/xml/ns/j2ee, error:
> >> cvc-complex-type.3.2.1: Attribute not allowed (no wildcards
> >> allowed): parentId in element
> >> [EMAIL PROTECTED]://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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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
> >> >>>> >>
> >> >>>> >>
> >> >>>>
> >> >
> >>
> >>
>
>