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 Wed, 25 Jan 2006 12:27:33 GMT
Finally got my EJBs and my webapp working!!
Had to pack it in an ear to get classes for the EJB deploy in Geronimo.
One thing I notised with my webapp:
When I redeploy it was not properly deleted in config-store.
Got a lot of folders there like this
40
  war
    WEB-INF
       lib
           helper.jar
(which is a jar i included in my webapps.)
Is this right?
My current webapp folder is 78! 

Anyway thanks for all help so far. 

Stein Kråbøl 

 


Stein Kråbøl writes: 

> 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="M
yWebApp-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