Can somebody please send me a simple workable ear (+ source) with a simple
web app that I can deploy on my server. In this way I will understand that
Geronimo is a great server and that I can recommend it to my customers.
Without that I am afraid my last week has been useless, working almost day and night trying to understand how Geronimo works (I've learned a lot though...). I am an 6 years java developer and I just happend to have this time available this days, and I have 24 hours left before I must decide which server I am going to use. Help me out... lets grow together... It's over midnight here in Norway. I'll stay awake for a little while... Stein Kråbøl Stein Kråbøl writes:
The only place I can see this entry (my-webapp.1.0) is in the web.xml
displayname:
<?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">
<display-name>my-webapp-1.0</display-name>
  <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>
--------------------------------------------------
Doing deploy with geronimo-web.xml on the commandline:C:\web\geronimo-1.0\bin>deploy --user system --password manager deploy c:\projec t\my-webapp\target\my-webapp-1.0.war c:\project\my-webapp\src\main\webapp\WEB-IN
F\geronimo-web.xml
  Error: Unable to distribute my-webapp-1.0.war: Could not find an EJB
  for reference ejb/BCalcREJB to a remote session  bean that has the
  home interface com.tellussoft.Test.BonusCalculatorHome and the
  remote interface com.tellussoft.Test.BonusCalculator
--------------------------------------------------
I beleave the EJB is not deploy properly. Stein Aaron Mulder writes:
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
>> >>>> >>
>> >>>> >>
>> >>>>
>> >
>>
>>



Reply via email to