On 7/4/07, Shiva Kumar H R <[EMAIL PROTECTED]> wrote:

Comments inline.

On 7/3/07, Xh <[EMAIL PROTECTED]> wrote:
>
>  Hi All!
>
> I can deploy successfully the EJB JAR that defines remote stateful
> session bean.
> But I have a problem while deploying WAR application that needs to
> retrieve this remote session bean.
>
> In my EJB JAR I have defined two files: META-INF/ejb-jar.xml and
> META-INF/openejb-jar.xml
>
> ejb-jar.xml extract follows:
> <enterprise-beans>
> <session>
>             <display-name>ModuleFactory</display-name>
>             <ejb-name>ModuleFactory</ejb-name>
>             <home>org.xh.dataweaver.common.ejb.ModuleFactoryHome </home>
>             <remote>org.xh.dataweaver.common.ejb.ModuleFactory</remote>
>             <ejb-class>
> org.xh.dataweaver.enterprise.core.ejb.ModuleFactoryBean</ejb-class>
>             <session-type>Stateful</session-type>
>             <transaction-type>Container</transaction-type>
> </session>
> </enterprise-beans>
>
> openejb-jar.xml extract follows:
> <enterprise-beans>
>     <session>
>     <ejb-name>ModuleFactory</ejb-name>
>     <ejb-ref>
>         <ref-name>ejb/ModuleFactory</ref-name>
>         <ejb-link>ModuleFactory</ejb-link>
>     </ejb-ref>
>     </session>
> </enterprise-beans>
>

There isn't a need to specify the <ejb-ref> element here. It instead needs
to be in the referring WAR's geronimo-web.xml. Create a "geronimo-web.xml"
as below and specify it while deploying your WAR.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns=" http://geronimo.apache.org/xml/ns/j2ee/web-1.1";>
    <dep:environment xmlns:dep="
http://geronimo.apache.org/xml/ns/deployment-1.1";>
        <dep:moduleId>
            <dep:groupId>your-web-app's-group-id</dep:groupId>
            <dep:artifactId>your-web-app's-artifact-id</dep:artifactId>
            <dep:version> 1.0</dep:version>
            <dep:type>war</dep:type>
        </dep:moduleId>
        <dep:dependencies>
            <dep:dependency>
                <dep:groupId>ejb's-group-id</dep:groupId>
                <dep:artifactId>ejb's-artifact-id</dep:artifactId>
                <dep:type>jar</dep:type>
            </dep:dependency>
        </dep:dependencies>
    </dep:environment>
    <context-root>your-web-app's-context-root</context-root>
    <nam:ejb-ref xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1
">
        <nam:ref-name>ejb/ModuleFactory</nam:ref-name>
        <nam:ref-link>ModuleFactory</nam:ref-link>
    </nam:ejb-ref>
</web-app>


Sorry, a slight mistake. Change <nam:ref-link>ModuleFactory</nam:ref-link>
above to <nam:ejb-link>ModuleFactory</nam:ejb-link>

I am assuming you are deploying on Geronimo 1.1. For higher versions you
will have to change the xsd versions above to web-1.1, deployment-1.2 &
naming-1.2.

After successful deployment of EJB JAR I tried to create proper web.xmlfile for 
my WAR application.
>
> In WEB-INF/web.xml I wrote:
> <ejb-ref>
>     <ejb-ref-name>ejb/ModuleFactory</ejb-ref-name>
>     <ejb-ref-type>Session</ejb-ref-type>
>     <home>org.xh.dataweaver.common.ejb.ModuleFactoryHome</home>
>     <remote>org.xh.dataweaver.common.ejb.ModuleFactory</remote>
>     <ejb-link>ModuleFactory</ejb-link>
> </ejb-ref>
>

Don't know if specifying <ejb-link> here would help.  Try with an
<ejb-ref> element in geronimo-web.xml as above and see if it solves the
problem.

But when I'm deploying WAR I receive:
>
> Could not find an EJB for reference ejb/ModuleFactory to a remote
> session bean that has the home interface
> org.xh.dataweaver.common.ejb.ModuleFactoryHome and the remote interface
> org.xh.dataweaver.common.ejb.ModuleFactory
>
> what am I doing wrong?
> I read http://cwiki.apache.org/GMOxDOC11/ejb-sample-application.html and
> http://cwiki.apache.org/GMOxDOC11/very-simple-session-ejb-example.html
> but I still don't see the error in my descriptors...
>

For more info refer this
http://www.chariotsolutions.com/geronimo/geronimo-1.1/geronimo-html-toc.html


thanks in advance for help
> best regards
> Lukasz
>
> ------------------------------
> Yahoo! Answers - Get better answers from someone who knows. Try it 
now<http://uk.answers.yahoo.com/;_ylc=X3oDMTEydmViNG02BF9TAzIxMTQ3MTcxOTAEc2VjA21haWwEc2xrA3RhZ2xpbmU>
> .
>


Reply via email to