geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Web Application Migration to Geronimo
Date Fri, 18 May 2007 17:18:44 GMT

On May 18, 2007, at 10:01 AM, Doug Lochart wrote:

> Hack, Hack, Hack ... Yes I have been hacking away =)  I may have  
> made some progress (or regression not sure)  Quickly let me answer  
> an earlier question.
>>
>> What exactly do you mean by "web service"? Is this a jaxrpc web  
>> service deployed with all the required j2ee 1.4 xml files such as  
>> the jaxrpc mapping file?
>>
> Yes it is a jaxrpc web service complete with mapping file,  
> webservices.xml, and wsdl.  The webservice is implemented with a  
> generic web service servlet that somehow delegates to the Stateless  
> Session Bean that is in the _EJB.jar.

 From the previous error I think that you have declared the ejb as an  
ejb web service and geronimo is recognizing that and deploying the  
stuff needed to hook it up as a web service, independent of the  
generic web service servlet.  If you don't need the war for any other  
reason I would try removing it, or at least removing the generic web  
service servlet.  This shouldn't change any behavior but should  
simplify what we need to look at.

Also Vamsi's comments jogged my memory-- I think in early versions of  
geronimo you had to add the axis and perhaps tomcat dependencies  
yourself, although we eventually got the web service deployers to do  
it for you.  You may be using one of these earlier versions.

>
> Let me recap what I have (and thanks for the previous tips, I think  
> they have moved me forward somewhat)
>
> geronimo-application.xml
> --------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <application application-name="FrancePolicyServerEar"
>              xmlns="http://geronimo.apache.org/xml/ns/j2ee/ 
> application-1.1"
>              xmlns:sec="http://geronimo.apache.org/xml/ns/ 
> security-1.1"
>              xmlns:sys="http://geronimo.apache.org/xml/ns/ 
> deployment-1.1">
>  <sys:environment>
>    <sys:moduleId>
>      <sys:groupId>france</sys:groupId>
>      <sys:artifactId>FrancePolicyServerEar</sys:artifactId>
>      <sys:version>1.0</sys:version>
>      <sys:type>car</sys:type>
>    </sys:moduleId>
>    <sys:dependencies>
>      <sys:dependency>
>      <sys:groupId>geronimo</sys:groupId>
>      <sys:artifactId>axis</sys:artifactId>
>      <sys:type>car</sys:type>
>      </sys:dependency>
>    </sys:dependencies>
>    <sys:hidden-classes/>
>    <sys:non-overridable-classes/>
>  </sys:environment>
> </application>
>
> I created an open-ejb.jar plan and included that in the _EJB.jar  
> under META-INF.  Here is its contents
> ---------------------------------------------------------------------- 
> --------------------------------------------------------------
> <openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
>  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/ 
> deployment-1.1">
>    <dep:moduleId>
>      <dep:groupId>qdfrancepolicy.</dep:groupId>
>      <dep:artifactId>FrancePolicyServverEjb</dep:artifactId>
>      <dep:version>1.0</dep:version>
>      <dep:type>car</dep:type>
>    </dep:moduleId>
>    <dep:dependencies>
>      <dep:dependency>
>        <dep:groupId>geronimo</dep:groupId>
>        <dep:artifactId>tomcat</dep:artifactId>
>        <dep:type>car</dep:type>
>      </dep:dependency>
>    </dep:dependencies>
>    <dep:hidden-classes/>
>    <dep:non-overridable-classes/>
>  </dep:environment>
>  <enterprise-beans>
>    <session>
>      <ejb-name>FrancePolicyServer</ejb-name>
>      <jndi-name>qdfrancepolicy.FrancePolicyHome</jndi-name>
>    </session>
>  </enterprise-beans>
> </openejb-jar>
>
> I also took the suggestion to remove my geronimo-web.xml from the  
> WAR and did that.  Now I am getting this Exception
>
> Look at the Caused By Exception
>
> org.apache.geronimo.common.DeploymentException: Unable to  
> initialize EJBContainer GBean: ejbNameFrancePolicyServer
>        at org.openejb.deployment.SessionBuilder.addEJBContainerGBean 
> (SessionBuilder.java:315)
>        at org.openejb.deployment.SessionBuilder.buildBeans 
> (SessionBuilder.java:192)
>        at org.openejb.deployment.OpenEJBModuleBuilder.addGBeans 
> (OpenEJBModuleBuilder.java:514)
>        at org.openejb.deployment.OpenEJBModuleBuilder$ 
> $FastClassByCGLIB$$11bd7b20.invoke(<generated>)
>        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> ....
> Caused by:
> java.lang.NoClassDefFoundError:  
> com.blazesoft.server.deploy.ejb.session.NdStatelessEjbServerBean
> ....
>
> This class is in a Jar included in the Ear.  This is where I am a  
> REAL newb when it comes to EJB/WebServices so please bear with me.   
> I do not know how the classpath for an application involving so  
> many pieces gets comprised.  I assume there is a classpath issue  
> within my ear structure.  Although it looks like it is trying to  
> create GBeans for my EjbBeans and needs the class it cannot find to  
> complete the instrumentation.  Below is my heirarchy of the ear  
> including the Manifests for each archive.  Since a tool built this  
> heirarchy and it supposedly works well in WAS 6.0 I assume there is  
> something in the geronimo specific plans I need to add or do to  
> link up things for the classpath to be correct.
>
> Again thanks for the help given and any to come!!!


The manifest classpath in the ejb jar looks ok to me.  Since you are  
getting a NCDFE rather than ClassNotFoundException it's likely that  
the class is available but we're trying to load it from a parent  
classloader.  Can you supply more of the stack trace?  Are any of  
your classes also in any other classloaders geronimo might be using  
or are they only present in the ear?

thanks
david jencks

>
>
> Layout for FrancePolicyServer.ear
> ---------------------------------
> META-INF/
> META-INF/MANIFEST.MF
> META-INF/application.xml
> META-INF/ibm-application-bnd.xmi
> META-INF/ibm-application-ext.xmi
> AdvCommon.jar
> AdvisorSvr.jar
> FrancePolicyServer_EJB.jar
> FrancePolicyServer_WEB.war
> InnovatorRT.jar
> jaxen.jar
> license.jar
>
> Manifest for EAR
> ...............
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.0
> Created-By: 2.3 (IBM Corporation)
> Built-By: Blaze Advisor Quick Deployer
>
>
> Layout for FrancePolicyServer_EJB.jar
> -------------------------------------
> META-INF/
> META-INF/MANIFEST.MF
> com/
> com/capecomputing/
> com/capecomputing/france/
> com/capecomputing/france/webservice/
> com/capecomputing/france/webservice/FrancePolicyIF.class
> com/capecomputing/france/webservice/FrancePolicyIFHome.class
> com/capecomputing/france/webservice/FrancePolicyIF_RI.class
> com/capecomputing/france/webservice/ 
> FrancePolicyServiceSoapBindingImpl.class
> META-INF/ejb-jar.xml
> META-INF/ibm-webservices-bnd.xmi
> META-INF/ibm-webservices-ext.xmi
> META-INF/jaxrpc-mapping.xml
> META-INF/openejb-jar.xml
> META-INF/webservices.xml
> META-INF/wsdl/
> META-INF/wsdl/FrancePolicyService.wsdl
> qdfrancepolicy/
> qdfrancepolicy/FrancePolicyBean.class
> qdfrancepolicy/FrancePolicyBusiness.class
> qdfrancepolicy/FrancePolicyHome.class
> qdfrancepolicy/FrancePolicyIF.class
> qdfrancepolicy/FrancePolicyRemote.class
>
> MANIFEST for EJB
> ...............
> Manifest-Version: 1.0
> Created-By: 2.3 (IBM Corporation)
> Class-Path: AdvCommon.jar Advisor.jar AdvisorSvr.jar InnovatorRT.jar
> license.jar jaxen.jar
> Built-By: Blaze Advisor Quick Deployer
> Ant-Version: Apache Ant 1.7.0
>
>
> Layout for WAR
> --------------------------------------
> META-INF/
> META-INF/MANIFEST.MF
> WEB-INF/
> WEB-INF/ibm-web-bnd.xmi
> WEB-INF/ibm-web-ext.xmi
> WEB-INF/web.xml
>
> MANIFEST for WAR
> ...............
> Manifest-Version: 1.0
> Class-Path: FrancePolicyServer_EJB.jar
>
>
>
>


Mime
View raw message