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 <[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