geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stein Kråbøl" <stei...@tellussoft.com>
Subject Re: Reference question
Date Tue, 24 Jan 2006 23:41:14 GMT
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 <steinkr@tellussoft.com> 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 <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