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:05:35 GMT
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