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 20:52:22 GMT
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