If you put the WAR and EJB JAR in an EAR it should certainly solve the class loading problem immediately. I think part of the pain here has been trying to get a standalone WAR working with a standalone EJB JAR.
Aaron On 1/24/06, Stein Kråbøl <[EMAIL PROTECTED]> wrote: > 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 <[EMAIL PROTECTED]> 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 <[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 > >>> >> >>>> >> > >>> >> >>>> >> > >>> >> >>>> > >>> >> > > >>> >> > >>> >> > >>> > >>> > > > >
