You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by ndthuy <nd...@yahoo.com> on 2007/12/01 01:04:52 UTC

RE: Problem with Using Spring and Hibernate with Axis2

All,

I will write all steps from A-Z so you can point out what I missed.

Thanks.

jp4 wrote:
> 
> I definitely agree with Robert's assessment.  I started down the AAR path
> and was able to get it working with Weblogic.  As requirements changed, I
> had to add some JSPs that call my POJO services as well.  That is when I
> decided to move all of my services into the war file.  After a few bumps
> in the road, which Robert was able to help me through, everything was up
> and running. 
> 
> 
> -----Original Message-----
> From: robert lazarski [mailto:robertlazarski@gmail.com]
> Sent: Fri 11/30/2007 12:00 PM
> To: axis-user@ws.apache.org
> Subject: Re: Problem with Using Spring and Hibernate with Axis2
>  
> The non-AAR approach is much simpler - you don't need to mess around
> with the TCCL for that and its the recommended approach. Just put all
> of your app level classes in WEB-INF/classes, all the spring jars in
> WEB-INF/lib, load your applicationContext.xml as normally done via a
> context listener in web.xml, setup your services.xml to use
> SpringServletContextObjectSupplier and it'll work fine.
> 
> Incidently, I'm working on a new tutorial for all this that will
> explain spring and hibernate integration with a full example start to
> finish - even inside that AAR. Stay tuned...
> 
> HTH,
> Robert
> 
> On Nov 30, 2007 10:12 AM, ndthuy <nd...@yahoo.com> wrote:
>>
>> All,
>>
>> I am not using the AAR's approach. I bundle the whole axis2 under the web
>> application. This is my setup:
>>
>> WebApp:
>>        + src
>>        + WebRoot
>>            + conf
>>            + lib
>>            + modules
>>            + services
>>               + common
>>               + META-INF
>>                  + *.wsdl
>>                  + services.xml
>>
>> Does anyone try this approach and make it working to load
>> applicationContext
>> from axis2 ?
>>
>> Thanks.
>>
>>
>>
>> jp4 wrote:
>> >
>> > I was able to get hibernate working just fine with spring under axis2
>> > 1.1.  I had to do some classloader manipulation in the SpringInit
>> > service but it wasn't very difficult.  Basically, you have to set the
>> > context classloader =  the axis2 class loader while the spring context
>> > is being loaded.  Once the context is loaded you can put everything
>> back
>> > to the way it was.  Keep in mind that this only works when all of your
>> > libraries are inside the AAR file.
>> >
>> >
>> >
>> > In the end, I decided to abandon the AAR approach because it was to
>> > fragile, but I know that this worked before.
>> >
>> >
>> >
>> > Here is an example...
>> >
>> >
>> >
>> >
>> >
>> > <service name="SpringInit"
>> > class="com.i4commerce.bml.webservice.axis2.SpringInit">
>> >
>> >     <description>
>> >
>> >         This is a spring sample Web Service with two operations.
>> >
>> >     </description>
>> >
>> >     <parameter name="ServiceTCCL" locked="false">composite</parameter>
>> >
>> >
>> >     <parameter name="load-on-startup" locked="false">true</parameter>
>> >
>> >     <parameter name="springContextFileNames"
>> > locked="false">applicationContext.xml,
>> > applicationContext2.xml</parameter>
>> >
>> >     <operation name="springInit">
>> >
>> >         <messageReceiver
>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>> >
>> >     </operation>
>> >
>> > </service>
>> >
>> >
>> >
>> > import java.net.URL;
>> >
>> > import java.util.StringTokenizer;
>> >
>> >
>> >
>> > import org.apache.axiom.om.OMElement;
>> >
>> > import org.apache.axis2.context.ConfigurationContext;
>> >
>> > import org.apache.axis2.description.AxisService;
>> >
>> > import org.apache.axis2.engine.ServiceLifeCycle;
>> >
>> > import org.apache.commons.logging.Log;
>> >
>> > import org.apache.commons.logging.LogFactory;
>> >
>> > import
>> > org.springframework.context.support.ClassPathXmlApplicationContext;
>> >
>> >
>> >
>> > /**
>> >
>> >  * This Axis2 Service Class is used for Axis2-Spring integration.  The
>> >
>> >  * primary role of this class is to load spring context files before
>> > other
>> >
>> >  * web services are loaded.
>> >
>> >  *
>> >
>> >  * @author I4Commerce.
>> >
>> >  *
>> >
>> >  */
>> >
>> > public class SpringInit implements ServiceLifeCycle {
>> >
>> >
>> >
>> >     /**
>> >
>> >      * SPRING_CONTEXT_FILE_NAMES
>> >
>> >      */
>> >
>> >     public static final String SPRING_CONTEXT_FILE_NAMES =
>> > "springContextFileNames";
>> >
>> >
>> >
>> >     /**
>> >
>> >      * logger
>> >
>> >      */
>> >
>> >     private static Log logger = LogFactory.getLog(SpringInit.class);
>> >
>> >
>> >
>> >     /**
>> >
>> >      * springInit
>> >
>> >      * @param ignore ignore
>> >
>> >      * @return OMElement OMElement
>> >
>> >      */
>> >
>> >     public OMElement springInit(OMElement ignore) {
>> >
>> >
>> >
>> >         return null;
>> >
>> >     }
>> >
>> >
>> >
>> >     /**
>> >
>> >      * This will be called during the system shut down time.
>> > irrespective of the service scope this method will be
>> >
>> >      * called
>> >
>> >      * @param ctxIgnore ctxIgnore
>> >
>> >      * @param ignore ignore
>> >
>> >      */
>> >
>> >     public void shutDown(ConfigurationContext ctxIgnore, AxisService
>> > ignore) {
>> >
>> >     }
>> >
>> >
>> >
>> >     /**
>> >
>> >      * this will be called during the deployement time of the service.
>> > irrespective of the service scope this method
>> >
>> >      * will be called
>> >
>> >      * @param ignore ignore
>> >
>> >      * @param service service
>> >
>> >      */
>> >
>> >     public void startUp(ConfigurationContext ignore, AxisService
>> > service) {
>> >
>> >         // By Default Spring uses
>> > Thread.currentThread().getContextClassLoader() to load
>> >
>> >         // classes. When in the context of a Axis2 Service, we want to
>> > use the Service ClassLoader
>> >
>> >         // instead of the context (or in this case webapp) ClassLoader.
>> > Therefore, we need to temporarily
>> >
>> >         // set the context ClassLoader equal to the Service ClassLoader
>> > while we are loading the spring
>> >
>> >         // context files. Once the spring context is loaded, we set the
>> > context ClassLoader back to
>> >
>> >         // what is was before.
>> >
>> >         ClassLoader contextCl =
>> > Thread.currentThread().getContextClassLoader();
>> >
>> >         ClassLoader classLoader = service.getClassLoader();
>> >
>> >         Thread.currentThread().setContextClassLoader(classLoader);
>> >
>> >         String[] springContextFiles =
>> >
>> getSpringContextFileNames(service.getParameter(SPRING_CONTEXT_FILE_NAMES
>> > )
>> >
>> >                 .getValue().toString(), classLoader);
>> >
>> >         ClassPathXmlApplicationContext appCtx = new
>> > ClassPathXmlApplicationContext(springContextFiles, false);
>> >
>> >
>> >
>> >         // save the spring context in a static class
>> >
>> >         Axis2SpringContextHolder.setContext(appCtx);
>> >
>> >
>> >
>> >         appCtx.setClassLoader(classLoader);
>> >
>> >         appCtx.refresh();
>> >
>> >
>> >
>> >         // set the context ClassLoader back to the webapp ClassLoader
>> >
>> >         Thread.currentThread().setContextClassLoader(contextCl);
>> >
>> >
>> >
>> >         if (logger.isDebugEnabled()) {
>> >
>> >             logger.debug("\n\nstartUp() set spring classloader via
>> > axisService.getClassLoader() ... ");
>> >
>> >         }
>> >
>> >     }
>> >
>> >
>> >
>> >     /**
>> >
>> >      * getSpringContextFileNames
>> >
>> >      * @param springContextParam springContextParam
>> >
>> >      * @param cl cl
>> >
>> >      * @return String[] spring context file names
>> >
>> >      */
>> >
>> >     private String[] getSpringContextFileNames(String
>> > springContextParam, ClassLoader cl) {
>> >
>> >         StringTokenizer tokenizer = new
>> > StringTokenizer(springContextParam, ",");
>> >
>> >         String[] urls = new String[tokenizer.countTokens()];
>> >
>> >         int i = 0;
>> >
>> >
>> >
>> >         if (logger.isDebugEnabled()) {
>> >
>> >             logger.debug("ClassLoader = " + cl);
>> >
>> >             logger.debug("Token count = " + tokenizer.countTokens());
>> >
>> >             logger.debug("Context files = " + springContextParam);
>> >
>> >         }
>> >
>> >
>> >
>> >         while ((tokenizer.hasMoreTokens())) {
>> >
>> >             String contextFile = ((String)
>> > tokenizer.nextToken()).trim();
>> >
>> >             // URL url = cl.getResource("/" + contextFile);
>> >
>> >             URL url = this.getClass().getResource("/" + contextFile);
>> >
>> >
>> >
>> >             if (logger.isDebugEnabled()) {
>> >
>> >                 logger.debug("find resource /" + contextFile);
>> >
>> >                 logger.debug("loading spring context file " + url);
>> >
>> >             }
>> >
>> >
>> >
>> >             if (url == null) {
>> >
>> >                 urls[i] = null;
>> >
>> >             } else {
>> >
>> >                 urls[i] = url.toString();
>> >
>> >             }
>> >
>> >
>> >
>> >             i++;
>> >
>> >         }
>> >
>> >
>> >
>> >         return urls;
>> >
>> >     }
>> >
>> > }
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > ________________________________
>> >
>> > From: Anthony Bull [mailto:anthony.bull@bcsoft.co.nz]
>> > Sent: Thursday, November 29, 2007 7:21 PM
>> > To: axis-user@ws.apache.org
>> > Subject: Re: Problem with Using Spring and Hibernate with Axis2
>> >
>> >
>> >
>> > You will find the most persistance frameworks have real problems when
>> > combined with Spring inside an AAR. The Spring inside the AAR approach
>> > on the Axis2 website does not work correctly when using persistance
>> > frameworks.
>> >
>> > iBATIS and JPA also have similar issues where the only way around it is
>> > to expand the AAR file.  With iBATIS its even worse, as no matter what
>> > you do, your mapping XML files only load from the axis2/WEB-INF/classes
>> > area.  In the end, I ended up dropping the Axis2 Spring setup and do my
>> > own Spring initialisation from my Service Skeleton class, so I can
>> > ensure the correct classloader is used to boot my Spring context.
>> >
>> > ndthuy wrote:
>> >
>> > All,
>> >
>> > When I am not using axis2, I don't have any problem with loading
>> > applicationContext.xml
>> >
>> >
>> > iksrazal wrote:
>> >
>> >
>> >       Remove 'parameter name="ServiceClass"' entries - they should be
>> > there
>> >       when using spring beans in your service.xml .
>> >
>> >       Beyond that, looks like you have a spring issue and not an axis2
>> > issue
>> >       - you seem to have problems with this area:
>> >
>> >
>> >
>> >                       <bean id="apSecurity"
>> >
>> > class="com.cvg.ap.service.privateservices.APSecurity">
>> >                               <property name="usersEntity">
>> >                                       <ref
>> > local="usersEntityProxyBean" />
>> >                               </property>
>> >                               <property name="metadataEntity">
>> >                                       <ref local="metadataEntity" />
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >       HTH,
>> >       Robert
>> >       HTH,
>> >       Robert
>> >
>> >       On Nov 29, 2007 1:08 PM, ndthuy <nd...@yahoo.com>
>>
>> > <ma...@yahoo.com>  wrote:
>> >
>> >
>> >               Hi All,
>> >
>> >               I am using Spring and Hibernate with Axis2. I have the
>> > problem with
>> >               loading
>> >               the applicationContext.xml. Does anyone has similar
>> > problems?
>> >               Attached are service.xml, applicationContext.xml and
>> > error meesage.
>> >
>> >               Thanks a lot.
>> >
>> >               service.xml
>> >
>> >               <?xml version="1.0" encoding="UTF-8"?>
>> >               <!-- This file was auto-generated from WSDL -->
>> >               <!-- by the Apache Axis2 version: 1.3  Built on : Aug
>> > 10, 2007 (04:45:47
>> >               LKT) -->
>> >               <serviceGroup>
>> >                       <service name="SpringInit"
>> > class="com.cvg.ap.util.SpringInit">
>> >                               <description>This web service
>> > initializes
>> >               Spring.</description>
>> >                               <parameter name="ServiceClass">
>> >                                       sample.spring.service.SpringInit
>> >                               </parameter>
>> >                               <parameter
>> > name="ServiceTCCL">composite</parameter>
>> >                               <parameter
>> > name="load-on-startup">true</parameter>
>> >                               <operation name="springInit">
>> >                                       <messageReceiver
>> >
>> >
>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
>> >                               </operation>
>> >                       </service>
>> >
>> >                       <service name="AdminRetrieveUserService">
>> >                               <messageReceivers>
>> >                                       <messageReceiver
>> >               mep="http://www.w3.org/ns/wsdl/in-out"
>> > <http://www.w3.org/ns/wsdl/in-out>
>> >
>> >
>> >
>> class="com.cvg.ap.ws.service.publicservices.adminretrieveuserservice.Adm
>> > inRetrieveUserServiceMessageReceiverInOut"
>> >               />
>> >                               </messageReceivers>
>> >                               <parameter name="ServiceClass">
>> >
>> >
>> > com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServiceImpl
>> >                               </parameter>
>> >                               <parameter name="ServiceObjectSupplier">
>> >
>> >
>> >
>> org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObject
>> > Supplier
>> >                               </parameter>
>> >                               <parameter name="SpringBeanName">
>> >                                       springAdminRetrieveUserService
>> >                               </parameter>
>> >                               <parameter
>> > name="useOriginalwsdl">true</parameter>
>> >                               <parameter
>> >               name="modifyUserWSDLPortAddress">true</parameter>
>> >                               <operation name="retrieveUserProfile"
>> >
>> > mep="http://www.w3.org/ns/wsdl/in-out"
>> > <http://www.w3.org/ns/wsdl/in-out> >
>> >
>> >               <actionMapping>urn:retrieveUserProfile</actionMapping>
>> >                                       <outputActionMapping>
>> >
>> >
>> >
>> http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com/Adm
>> > inRetrieveUserServicePortType/retrieveUserProfileResponse
>> >                                       </outputActionMapping>
>> >                               </operation>
>> >                       </service>
>> >               </serviceGroup>
>> >
>> >
>> >               ApplicationContext.xml
>> >
>> >               <?xml version="1.0" encoding="UTF-8"?>
>> >               <beans
>> > xmlns="http://www.springframework.org/schema/beans"
>> > <http://www.springframework.org/schema/beans>
>> >
>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> > <http://www.w3.org/2001/XMLSchema-instance>
>> >
>> > xsi:schemaLocation="http://www.springframework.org/schema/beans
>> >
>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>> > g/schema/beans/spring-beans-2.0.xsd>
>> >
>> > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
>> >
>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>> > g/schema/beans/spring-beans-2.0.xsd> >
>> >
>> >                       <bean id="applicationContext"
>> >
>> >
>> >
>> class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHo
>> > lder"
>> >               />
>> >
>> >                       <bean id="sessionFactory"
>> >
>> >
>> > class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>> >                               <property name="configLocation"
>> >
>> > value="classpath:hibernate.cfg.xml">
>> >                               </property>
>> >                               <property name="dataSource">
>> >                                       <ref local="c3poDataSource" />
>> >                               </property>
>> >                       </bean>
>> >                       <bean id="propertyConfigurer"
>> >
>> >
>> >
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>> > gurer">
>> >                               <property name="location">
>> >                                       <value>
>> >
>> >               file:$ <file:///\\$>
>>
>> >
>> {ACCESSPOINT_WS_CFG_HOME}/accesspoint_ws/config/accesspoint_ws.propertie
>> > s
>> >                                       </value>
>> >                               </property>
>> >                       </bean>
>> >                       <bean id="c3poDataSource"
>> >
>> > class="com.mchange.v2.c3p0.ComboPooledDataSource"
>> >                               destroy-method="close">
>> >                               <property name="driverClass">
>> >
>> > <value>oracle.jdbc.driver.OracleDriver</value>
>> >                               </property>
>> >                               <property name="jdbcUrl">
>> >                                       <value>
>> >
>> >
>> > jdbc:oracle:thin:@${jdbc.host}:${jdbc.port}:${jdbc.database}
>> >                                       </value>
>> >                               </property>
>> >
>> >                               <property name="properties">
>> >                                       <props>
>> >                                               <prop
>> > key="user">${jdbc.username}</prop>
>> >                                               <prop key="password">
>> >
>> > ${ACCESSPOINT_DB_PWD_DECRYPTED}
>> >                                               </prop>
>> >                                               <prop
>> > key="c3p0.min_size">
>> >
>> > ${jdbc.connectionPool.minSize}
>> >                                               </prop>
>> >                                               <prop
>> > key="c3p0.max_size">
>> >
>> > ${jdbc.connectionPool.maxSize}
>> >                                               </prop>
>> >                                               <prop
>> > key="c3p0.acquire_increment">
>> >
>> > ${jdbc.connectionPool.increment}
>> >                                               </prop>
>> >                                               <prop
>> >               key="c3p0.idle_test_period">100</prop>
>> >                                       </props>
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >                       <bean id="GroupsDAO"
>> > class="com.cvg.ap.dao.GroupsDAO">
>> >                               <property name="sessionFactory">
>> >                                       <ref bean="sessionFactory" />
>> >                               </property>
>> >                       </bean>
>> >                       <bean id="UsersDAO"
>> > class="com.cvg.ap.dao.UsersDAO">
>> >                               <property name="hibernateTemplate">
>> >                                       <ref bean="hibernateTemplate" />
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >                       <bean id="MetadataDAO"
>> > class="com.cvg.ap.dao.MetadataDAO">
>> >                               <property name="sessionFactory">
>> >                                       <ref bean="sessionFactory" />
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >                       <bean id="hibernateTemplate"
>> >
>> >
>> > class="org.springframework.orm.hibernate3.HibernateTemplate">
>> >                               <property name="sessionFactory">
>> >                                       <ref bean="sessionFactory" />
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >                       <bean id="transactionManager"
>> >
>> >
>> > class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>> >                               <property name="sessionFactory">
>> >                                       <ref local="sessionFactory" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="hibernateInterceptor"
>> >
>> >
>> > class="org.springframework.orm.hibernate3.HibernateInterceptor">
>> >                               <property name="sessionFactory">
>> >                                       <ref bean="sessionFactory" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="usersEntityInterceptor"
>> >
>> >
>> >
>> class="org.springframework.transaction.interceptor.TransactionIntercepto
>> > r">
>> >                               <property name="transactionManager">
>> >                                       <ref local="transactionManager"
>> > />
>> >                               </property>
>> >                               <property name="transactionAttributes">
>> >                                       <props>
>> >                                               <prop
>> >               key="get*">PROPAGATION_REQUIRED,readOnly</prop>
>> >                                               <prop
>> >               key="save*">PROPAGATION_REQUIRED</prop>
>> >                                               <prop
>> >               key="update*">PROPAGATION_REQUIRED</prop>
>> >                                               <prop
>> >               key="delete*">PROPAGATION_REQUIRED</prop>
>> >                                               <prop
>> >               key="updateUserForSuccessfulAuthentication*">
>> >
>> > PROPAGATION_REQUIRED
>> >                                               </prop>
>> >                                               <prop
>> >               key="updateUserForFailedAuthentication*">
>> >
>> > PROPAGATION_REQUIRED
>> >                                               </prop>
>> >                                       </props>
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="usersEntityProxyTargetBean"
>> >                               class="com.cvg.ap.dbms.UsersEntity">
>> >                               <property name="apUsersDAO">
>> >                                       <ref local="UsersDAO" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="usersEntityProxyBean"
>> >
>> >
>> > class="org.springframework.aop.framework.ProxyFactoryBean">
>> >                               <property name="proxyTargetClass">
>> >                                       <value>true</value>
>> >                               </property>
>> >                               <property name="interceptorNames">
>> >                                       <list>
>> >
>> > <value>hibernateInterceptor</value>
>> >
>> > <value>usersEntityInterceptor</value>
>> >                                       </list>
>> >                               </property>
>> >                               <property name="target">
>> >                                       <ref
>> > local="usersEntityProxyTargetBean" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="metadataEntity"
>> > class="com.cvg.ap.dbms.MetadataEntity">
>> >                               <property name="metadataDAO">
>> >                                       <ref local="MetadataDAO" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="acmServicesEntity"
>> >
>> > class="com.cvg.ap.dbms.ACMServicesEntity">
>> >                               <property name="acmServicesDAO">
>> >                                       <ref local="AcmServiceDAO" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="apSecurity"
>> >
>> > class="com.cvg.ap.service.privateservices.APSecurity">
>> >                               <property name="usersEntity">
>> >                                       <ref
>> > local="usersEntityProxyBean" />
>> >                               </property>
>> >                               <property name="metadataEntity">
>> >                                       <ref local="metadataEntity" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="groupsEntity"
>> > class="com.cvg.ap.dbms.GroupsEntity">
>> >                               <property name="groupsDAO">
>> >                                       <ref local="GroupsDAO" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="apUserManagement"
>> >
>> >
>> > class="com.cvg.ap.service.privateservices.APUserManagement">
>> >                               <property name="usersEntity">
>> >                                       <ref
>> > local="usersEntityProxyBean" />
>> >                               </property>
>> >                       </bean>
>> >
>> >                       <bean id="adminRetrieveUserService"
>> >
>> >
>> >
>> class="com.cvg.ap.service.publicservices.impl.AdminRetrieveUserServiceIm
>> > pl">
>> >                               <property name="apSecurity">
>> >                                       <ref local="apSecurity" />
>> >                               </property>
>> >                               <property name="apUserManagement">
>> >                                       <ref local="apUserManagement" />
>> >                               </property>
>> >                       </bean>
>> >
>> >
>> >
>> >                       <!-- Axis2 Web Service, but to Spring, its just
>> > another bean that
>> >               has
>> >               dependencies -->
>> >                       <bean id="springAdminRetrieveUserService"
>> >
>> >
>> >
>> class="com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServic
>>
>> > eImpl">
>> >                               <property
>> > name="adminRetrieveUserService"
>> >                                       ref="adminRetrieveUserService"
>> > />
>> >                       </bean>
>> >               </beans>
>> >
>> >
>> >               Errors:
>> >
>> >               org.apache.axis2.deployment.DeploymentException: Error
>> > creating bean with
>> >               name 'apSecurity' defined in class path resource
>> >               [applicationContext.xml]:
>> >               Cannot resolve reference to bean 'usersEntityProxyBean'
>> > while setting
>> >               bean
>> >               property 'usersEntity'; nested exception is
>> >               org.springframework.beans.factory.BeanCreationException:
>> > Error creating
>> >               bean
>> >               with name 'usersEntityProxyBean': FactoryBean threw
>> > exception on object
>> >               creation; nested exception is
>> > java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>> > viceGroupBuilder.java:106)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGr
>> > oup(ArchiveReader.java:103)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.repository.util.ArchiveReader.processService
>> > Group(ArchiveReader.java:172)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:
>> > 78)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(De
>> > ploymentFileData.java:137)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.j
>> > ava:571)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList
>> > .java:141)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener
>> > .java:318)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryL
>> > istener.java:220)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngi
>> > ne.java:118)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBas
>> > edAxisConfigurator.java:272)
>> >                       at
>> >
>> >
>> org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
>> > Context(ConfigurationContextFactory.java:78)
>> >                       at
>> >
>> >
>> org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
>> > t.java:500)
>> >                       at
>> >
>> > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:420)
>> >                       at
>> >
>> >
>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
>> > a:1139)
>> >                       at
>> >
>> > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
>> >                       at
>> >
>> >
>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
>> > ava:3956)
>> >                       at
>> >
>> >
>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4230
>> > )
>> >                       at
>> >
>> >
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
>> > va:760)
>> >                       at
>> >
>> > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>> >                       at
>> >
>> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>> >                       at
>> >
>> > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
>> >                       at
>> >
>> > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
>> >                       at
>> >
>> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>> >                       at
>> >
>> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>> >                       at
>> >
>> >
>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
>> > 1)
>> >                       at
>> >
>> >
>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
>> > pport.java:120)
>> >                       at
>> >
>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>> >                       at
>> >
>> > org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>> >                       at
>> >
>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>> >                       at
>> >
>> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>> >                       at
>> >
>> >
>> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>> >                       at
>> >
>> > org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>> >                       at
>> > org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>> >                       at
>> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> >                       at
>> >
>> >
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
>> > a:39)
>> >                       at
>> >
>> >
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
>> > Impl.java:25)
>> >                       at
>> > java.lang.reflect.Method.invoke(Method.java:585)
>> >                       at
>> >
>> > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>> >                       at
>> > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>> >               Caused by:
>> > org.apache.axis2.deployment.DeploymentException: Error
>> >               creating
>> >               bean with name 'apSecurity' defined in class path
>> > resource
>> >               [applicationContext.xml]: Cannot resolve reference to
>> > bean
>> >               'usersEntityProxyBean' while setting bean property
>> > 'usersEntity'; nested
>> >               exception is
>> > org.springframework.beans.factory.BeanCreationException:
>> >               Error
>> >               creating bean with name 'usersEntityProxyBean':
>> > FactoryBean threw
>> >               exception
>> >               on object creation; nested exception is
>> > java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>> > r.java:389)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>> > viceGroupBuilder.java:101)
>> >                       ... 39 more
>> >               Caused by:
>> > org.apache.axis2.deployment.DeploymentException: Error
>> >               creating
>> >               bean with name 'apSecurity' defined in class path
>> > resource
>> >               [applicationContext.xml]: Cannot resolve reference to
>> > bean
>> >               'usersEntityProxyBean' while setting bean property
>> > 'usersEntity'; nested
>> >               exception is
>> > org.springframework.beans.factory.BeanCreationException:
>> >               Error
>> >               creating bean with name 'usersEntityProxyBean':
>> > FactoryBean threw
>> >               exception
>> >               on object creation; nested exception is
>> > java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>> > viceBuilder.java:473)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>> > r.java:184)
>> >                       ... 40 more
>> >               Caused by:
>> > org.springframework.beans.factory.BeanCreationException: Error
>> >               creating bean with name 'apSecurity' defined in class
>> > path resource
>> >               [applicationContext.xml]: Cannot resolve reference to
>> > bean
>> >               'usersEntityProxyBean' while setting bean property
>> > 'usersEntity'; nested
>> >               exception is
>> > org.springframework.beans.factory.BeanCreationException:
>> >               Error
>> >               creating bean with name 'usersEntityProxyBean':
>> > FactoryBean threw
>> >               exception
>> >               on object creation; nested exception is
>> > java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>> > solveReference(BeanDefinitionValueResolver.java:275)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>> > solveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>> > tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1095)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>> > tory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>> > tory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
>> > t(AbstractBeanFactory.java:249)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
>> > etSingleton(DefaultSingletonBeanRegistry.java:155)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>> > stractBeanFactory.java:246)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>> > stractBeanFactory.java:160)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
>> > InstantiateSingletons(DefaultListableBeanFactory.java:291)
>> >                       at
>> >
>> >
>> org.springframework.context.support.AbstractApplicationContext.refresh(A
>> > bstractApplicationContext.java:352)
>> >                       at
>>
>> > com.cvg.ap.util.SpringInit.startUp(SpringInit.java:60)
>> >                       at
>> >
>> >
>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>> > viceBuilder.java:469)
>> >                       ... 41 more
>> >               Caused by:
>> > org.springframework.beans.factory.BeanCreationException: Error
>> >               creating bean with name 'usersEntityProxyBean':
>> > FactoryBean threw
>> >               exception
>> >               on object creation; nested exception is
>> > java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>> > romFactoryBean(AbstractBeanFactory.java:1252)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>> > orBeanInstance(AbstractBeanFactory.java:1217)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>> > stractBeanFactory.java:206)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>> > stractBeanFactory.java:160)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>> > solveReference(BeanDefinitionValueResolver.java:267)
>> >                       ... 53 more
>> >               Caused by: java.lang.NoClassDefFoundError
>> >                       at
>> >
>> >
>> org.springframework.aop.framework.Cglib2AopProxy.createEnhancer(Cglib2Ao
>> > pProxy.java:223)
>> >                       at
>> >
>> >
>> org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy
>> > .java:150)
>> >                       at
>> >
>> >
>> org.springframework.aop.framework.ProxyFactoryBean.getProxy(ProxyFactory
>> > Bean.java:347)
>> >                       at
>> >
>> >
>> org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(
>> > ProxyFactoryBean.java:302)
>> >                       at
>> >
>> >
>> org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFactor
>> > yBean.java:228)
>> >                       at
>> >
>> >
>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>> > romFactoryBean(AbstractBeanFactory.java:1246)
>> >                       ... 57 more
>> >
>> >               --
>> >               View this message in context:
>> >
>> >
>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2
>> > -tf4898949.html#a14031519
>> >               Sent from the Axis - User mailing list archive at
>> > Nabble.com.
>> >
>> >
>> >
>> > ---------------------------------------------------------------------
>> >               To unsubscribe, e-mail:
>> > axis-user-unsubscribe@ws.apache.org
>> >               For additional commands, e-mail:
>> > axis-user-help@ws.apache.org
>> >
>> >
>> >
>> >
>> >
>> > ---------------------------------------------------------------------
>> >       To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> >       For additional commands, e-mail: axis-user-help@ws.apache.org
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > --
>> >
>> > Anthony
>> > -------------------------------------
>> > Anthony Bull
>> > Senior Developer
>> > Black Coffee Software Ltd
>> > PO Box 10-192 The Terrace
>> > Wellington, New Zealand
>> >
>> > anthony.bull@bcsoft.co.nz
>> > Ph  +64 4 472 8818
>> > Fax +64 4 472 8811
>> > -------------------------------------
>> > www.bcsoft.co.nz
>> > ---------------------------------------------------------------
>> > This email may contain confidential or privileged information,
>> > and is intended for use only by the addressee, or addressees.
>> > If you are not the intended recipient please advise the sender
>> > immediately and do not copy, use or disclose the contents to
>> > any other person or organisation.
>> > Black Coffee Software Ltd accepts no responsibility for viruses
>> > received with this email, or to any changes made to the original
>> > content. Any views or opinions expressed in this email may be
>> > personal to the sender and are not necessarily those of Black
>> > Coffee Software Ltd.
>> > ---------------------------------------------------------------
>> > ---------------------------------------------------------------------
>> To
>> > unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional
>> > commands, e-mail: axis-user-help@ws.apache.org
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14070476
>>
>> Sent from the Axis - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14099279
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: Problem with Using Spring and Hibernate with Axis2

Posted by ndthuy <nd...@yahoo.com>.
All,
 
This is the latest update:
I am able to deploy but when I run I receive the following errors:

org.apache.axis2.AxisFault: Error creating bean with name 'apSecurity'
defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot
resolve reference to bean 'usersEntityProxyBean' while setting bean property
'usersEntity'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'usersEntityProxyBean': FactoryBean threw exception on object
creation; nested exception is java.lang.NoClassDefFoundError
	at
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:486)
	at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:343)
	at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:389)
	at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
	at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
	at
com.cvg.ap.ws.service.publicservices.client.AdminRetrieveUserServiceStub.retrieveUserProfile(AdminRetrieveUserServiceStub.java:164)
	at
com.cvg.ap.ws.service.publicservices.client.AdminRetrieveUserServiceClient.retrieveUserProfile(AdminRetrieveUserServiceClient.java:21)
	at
com.cvg.ap.ws.service.publicservices.client.AdminRetrieveUserServiceClient.main(AdminRetrieveUserServiceClient.java:35)

Thanks.


ndthuy wrote:
> 
> All,
> 
> I began with a web application that using spring + hibernate. Below is my
> development environment:
>    - myeclipse 6.0.1 GA
>    - adding all spring and hibernate libraries
>    - start define some transaction control using ProxyFactoryBean
> 
> Everything works fine to this point. Now I want to expose some service as
> web-services using Axis2. This is my setup at this point:
> 
> WebApp:
>         + src
>         + WebRoot
>             + conf
>             + lib
>             + modules
>             + services
>                + common
>                + META-INF
>                   + AdminRetrieveUserService.wsdl
>                   + apschema.xsd
>                   + services.xml
> 
> These are content of AdminRetrieveUserService.wsdl and apschema.xsd
> 
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions 
> 	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
> 	xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
> 	xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
> 	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> 	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> 	xmlns:apschema="http://service.ws.ap.cvg.com/apschema"
> 
> xmlns:tns="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
> 	name="AdminRetrieveUserService"
> 
> targetNamespace="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com">
> 
> 	<wsdl:types>
> 		<xsd:schema
> xmlns:tns1="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
> 			attributeFormDefault="qualified" elementFormDefault="qualified"
> 		
> targetNamespace="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
> 			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> 			<xsd:import namespace="http://service.ws.ap.cvg.com/apschema"
> 				schemaLocation="apschema.xsd" />
> 			<xsd:element name="retrieveUserProfile">
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element name="userName" type="xsd:string" />
> 						<xsd:element name="password" type="xsd:string" />
> 						<xsd:element name="source" type="xsd:string" />
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 			<xsd:element name="retrieveUserProfileResponse">
> 				<xsd:complexType>
> 					<xsd:sequence>
> 						<xsd:element minOccurs="0" name="return"
> 							nillable="true" type="apschema:RetrieveUserProfileVO" />
> 					</xsd:sequence>
> 				</xsd:complexType>
> 			</xsd:element>
> 		</xsd:schema>
> 	</wsdl:types>
> 	<wsdl:message name="retrieveUserProfileRequest">
> 		<wsdl:part element="tns:retrieveUserProfile" name="parameters" />
> 	</wsdl:message>
> 	<wsdl:message name="retrieveUserProfileResponse">
> 		<wsdl:part element="tns:retrieveUserProfileResponse" name="parameters"
> />
> 	</wsdl:message>
> 	
> 	<wsdl:portType name="AdminRetrieveUserServicePortType">
> 		<wsdl:operation name="retrieveUserProfile">
> 			<wsdl:input message="tns:retrieveUserProfileRequest" />
> 			<wsdl:output message="tns:retrieveUserProfileResponse" />
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	
> 	<wsdl:binding name="AdminRetrieveUserServiceSOAP11Binding"
> 		type="tns:AdminRetrieveUserServicePortType">
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="retrieveUserProfile">
> 			<soap:operation soapAction="urn:retrieveUserProfile"
> 				style="document" />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:binding name="AdminRetrieveUserServiceSOAP12Binding"
> 		type="tns:AdminRetrieveUserServicePortType">
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="retrieveUserProfile">
> 			<soap12:operation soapAction="urn:retrieveUserProfile"
> 				style="document" />
> 			<wsdl:input>
> 				<soap12:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap12:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:binding name="AdminRetrieveUserServiceHttpBinding"
> 		type="tns:AdminRetrieveUserServicePortType">
> 		<http:binding verb="POST" />
> 		<soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> 		<wsdl:operation name="retrieveUserProfile">
> 			<http:operation location="AdminRetrieveUserService/retrieveUserProfile"
> />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	
> 	<wsdl:service name="AdminRetrieveUserService">
> 		<wsdl:port name="AdminRetrieveUserServiceSOAP11port_http"
> 			binding="tns:AdminRetrieveUserServiceSOAP11Binding">
> 			<soap:address
> 			
> location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
> />
> 		</wsdl:port>
> 		<wsdl:port name="AdminRetrieveUserServiceSOAP12port_http"
> 			binding="tns:AdminRetrieveUserServiceSOAP12Binding">
> 			<soap12:address
> 			
> location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
> />
> 		</wsdl:port>
> 		<wsdl:port name="AdminRetrieveUserServiceHttpport"
> 			binding="tns:AdminRetrieveUserServiceHttpBinding">
> 			<http:address
> 			
> location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
> />
> 		</wsdl:port>
> 	</wsdl:service>
> 	
> </wsdl:definitions>
> 
> 
> <?xml version="1.0"?>
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 	targetNamespace="http://service.ws.ap.cvg.com/apschema"
> 	xmlns:apschema="http://service.ws.ap.cvg.com/apschema"
> 	elementFormDefault="qualified">
> 	<xsd:complexType name="User">
> 		<xsd:sequence>
> 			<xsd:element minOccurs="0" name="userId" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="company" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="userPwd" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="userName" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="createdDate"
> 				nillable="true" type="xsd:string" />
> 			<xsd:element minOccurs="0" name="createdBy" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="emailAddress"
> 				nillable="true" type="xsd:string" />
> 			<xsd:element minOccurs="0" name="expirationDate"
> 				nillable="true" type="xsd:string" />
> 			<xsd:element minOccurs="0" name="userStatus" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="passwordStatus"
> 				nillable="true" type="xsd:string" />
> 			<xsd:element minOccurs="0" name="role" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="action" nillable="true"
> 				type="xsd:string" />
> 		</xsd:sequence>
> 	</xsd:complexType>
> 	
> 	<xsd:complexType name="RetrieveUserProfileVO">
> 		<xsd:sequence>
> 			<xsd:element minOccurs="0" name="success" nillable="true"
> 				type="xsd:boolean" />
> 			<xsd:element minOccurs="0" name="message" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="messageCode" nillable="true"
> 				type="xsd:string" />
> 			<xsd:element minOccurs="0" name="userProfile" nillable="true"
> 				type="apschema:User" />
> 		</xsd:sequence>
> 	</xsd:complexType>
> </xsd:schema>
> 
> 
> 1. I use plug-in tool to generate skeleton files to the same web
> application.
> 2. I begin to modify web.xml as follow:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app version="2.4" 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">
> 	<welcome-file-list>
> 		<welcome-file>index.jsp</welcome-file>
> 	</welcome-file-list>
> 	<context-param>
> 		<param-name>contextConfigLocation</param-name>
> 		<param-value>/WEB-INF/applicationContext.xml</param-value>
> 	</context-param>
> 	<servlet>
> 		<servlet-name>context</servlet-name>
> 		<servlet-class>
> 			org.springframework.web.context.ContextLoaderServlet
> 		</servlet-class>
> 		<load-on-startup>1</load-on-startup>
> 	</servlet>
> 	<servlet>
> 		<servlet-name>AxisServlet</servlet-name>
> 		<servlet-class>
> 			org.apache.axis2.transport.http.AxisServlet
> 		</servlet-class>
> 		<!--<init-param>-->
> 		<!--<param-name>axis2.xml.path</param-name>-->
> 		<!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
> 		<!--<param-name>axis2.xml.url</param-name>-->
> 		<!--<param-value>http://localhot/myrepo/axis2.xml</param-value>-->
> 		<!--<param-name>axis2.repository.path</param-name>-->
> 		<!--<param-value>/WEB-INF</param-value>-->
> 		<!--<param-name>axis2.repository.url</param-name>-->
> 		<!--<param-value>http://localhot/myrepo</param-value>-->
> 		<!--</init-param>-->
> 		<load-on-startup>1</load-on-startup>
> 	</servlet>
> 
> 	<servlet-mapping>
> 		<servlet-name>AxisServlet</servlet-name>
> 		<url-pattern>/servlet/AxisServlet</url-pattern>
> 	</servlet-mapping>
> 
> 	<servlet-mapping>
> 		<servlet-name>AxisServlet</servlet-name>
> 		<url-pattern>/services/*</url-pattern>
> 	</servlet-mapping>
> </web-app>
> 
> 3. I modify services.xml as follow:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- This file was auto-generated from WSDL -->
> <!-- by the Apache Axis2 version: 1.3  Built on : Aug 10, 2007 (04:45:47
> LKT) -->
> <serviceGroup>
> 
> 	<service name="AdminRetrieveUserService">
> 		<messageReceivers>
> 			<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
> 			
> class="com.cvg.ap.ws.service.publicservices.adminretrieveuserservice.AdminRetrieveUserServiceMessageReceiverInOut"
> />
> 		</messageReceivers>
> 		
> 		<parameter name="ServiceObjectSupplier">
> 		
> org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
> 		</parameter>
> 		<parameter name="SpringBeanName">
> 			springAdminRetrieveUserService
> 		</parameter>
> 		<parameter name="useOriginalwsdl">true</parameter>
> 		<parameter name="modifyUserWSDLPortAddress">true</parameter>
> 		<operation name="retrieveUserProfile"
> 			mep="http://www.w3.org/ns/wsdl/in-out">
> 			<actionMapping>urn:retrieveUserProfile</actionMapping>
> 			<outputActionMapping>
> 			
> http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com/AdminRetrieveUserServicePortType/retrieveUserProfileResponse
> 			</outputActionMapping>
> 		</operation>
> 	</service>
> </serviceGroup>
> 
> 4. my applicationContext.xml is the same with previous post except it
> doesn't have <bean id="applicationContext"
> 
> 5. I still receive error of 
>  org.apache.axis2.deployment.DeploymentException: Error creating bean with
> name 'apSecurity' defined in class path resource 
> [applicationContext.xml]:
>                Cannot resolve reference to bean 'usersEntityProxyBean'
> while setting bean  property 'usersEntity'; nested exception is
> org.springframework.beans.factory.BeanCreationException: ...
> 
> Did I do anything wrong ? Thanks a lot.
> 
> 
> ndthuy wrote:
>> 
>> All,
>> 
>> I will write all steps from A-Z so you can point out what I missed.
>> 
>> Thanks.
>> 
>> jp4 wrote:
>>> 
>>> I definitely agree with Robert's assessment.  I started down the AAR
>>> path and was able to get it working with Weblogic.  As requirements
>>> changed, I had to add some JSPs that call my POJO services as well. 
>>> That is when I decided to move all of my services into the war file. 
>>> After a few bumps in the road, which Robert was able to help me through,
>>> everything was up and running. 
>>> 
>>> 
>>> -----Original Message-----
>>> From: robert lazarski [mailto:robertlazarski@gmail.com]
>>> Sent: Fri 11/30/2007 12:00 PM
>>> To: axis-user@ws.apache.org
>>> Subject: Re: Problem with Using Spring and Hibernate with Axis2
>>>  
>>> The non-AAR approach is much simpler - you don't need to mess around
>>> with the TCCL for that and its the recommended approach. Just put all
>>> of your app level classes in WEB-INF/classes, all the spring jars in
>>> WEB-INF/lib, load your applicationContext.xml as normally done via a
>>> context listener in web.xml, setup your services.xml to use
>>> SpringServletContextObjectSupplier and it'll work fine.
>>> 
>>> Incidently, I'm working on a new tutorial for all this that will
>>> explain spring and hibernate integration with a full example start to
>>> finish - even inside that AAR. Stay tuned...
>>> 
>>> HTH,
>>> Robert
>>> 
>>> On Nov 30, 2007 10:12 AM, ndthuy <nd...@yahoo.com> wrote:
>>>>
>>>> All,
>>>>
>>>> I am not using the AAR's approach. I bundle the whole axis2 under the
>>>> web
>>>> application. This is my setup:
>>>>
>>>> WebApp:
>>>>        + src
>>>>        + WebRoot
>>>>            + conf
>>>>            + lib
>>>>            + modules
>>>>            + services
>>>>               + common
>>>>               + META-INF
>>>>                  + *.wsdl
>>>>                  + services.xml
>>>>
>>>> Does anyone try this approach and make it working to load
>>>> applicationContext
>>>> from axis2 ?
>>>>
>>>> Thanks.
>>>>
>>>>
>>>>
>>>> jp4 wrote:
>>>> >
>>>> > I was able to get hibernate working just fine with spring under axis2
>>>> > 1.1.  I had to do some classloader manipulation in the SpringInit
>>>> > service but it wasn't very difficult.  Basically, you have to set the
>>>> > context classloader =  the axis2 class loader while the spring
>>>> context
>>>> > is being loaded.  Once the context is loaded you can put everything
>>>> back
>>>> > to the way it was.  Keep in mind that this only works when all of
>>>> your
>>>> > libraries are inside the AAR file.
>>>> >
>>>> >
>>>> >
>>>> > In the end, I decided to abandon the AAR approach because it was to
>>>> > fragile, but I know that this worked before.
>>>> >
>>>> >
>>>> >
>>>> > Here is an example...
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > <service name="SpringInit"
>>>> > class="com.i4commerce.bml.webservice.axis2.SpringInit">
>>>> >
>>>> >     <description>
>>>> >
>>>> >         This is a spring sample Web Service with two operations.
>>>> >
>>>> >     </description>
>>>> >
>>>> >     <parameter name="ServiceTCCL"
>>>> locked="false">composite</parameter>
>>>> >
>>>> >
>>>> >     <parameter name="load-on-startup" locked="false">true</parameter>
>>>> >
>>>> >     <parameter name="springContextFileNames"
>>>> > locked="false">applicationContext.xml,
>>>> > applicationContext2.xml</parameter>
>>>> >
>>>> >     <operation name="springInit">
>>>> >
>>>> >         <messageReceiver
>>>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>>>> >
>>>> >     </operation>
>>>> >
>>>> > </service>
>>>> >
>>>> >
>>>> >
>>>> > import java.net.URL;
>>>> >
>>>> > import java.util.StringTokenizer;
>>>> >
>>>> >
>>>> >
>>>> > import org.apache.axiom.om.OMElement;
>>>> >
>>>> > import org.apache.axis2.context.ConfigurationContext;
>>>> >
>>>> > import org.apache.axis2.description.AxisService;
>>>> >
>>>> > import org.apache.axis2.engine.ServiceLifeCycle;
>>>> >
>>>> > import org.apache.commons.logging.Log;
>>>> >
>>>> > import org.apache.commons.logging.LogFactory;
>>>> >
>>>> > import
>>>> > org.springframework.context.support.ClassPathXmlApplicationContext;
>>>> >
>>>> >
>>>> >
>>>> > /**
>>>> >
>>>> >  * This Axis2 Service Class is used for Axis2-Spring integration. 
>>>> The
>>>> >
>>>> >  * primary role of this class is to load spring context files before
>>>> > other
>>>> >
>>>> >  * web services are loaded.
>>>> >
>>>> >  *
>>>> >
>>>> >  * @author I4Commerce.
>>>> >
>>>> >  *
>>>> >
>>>> >  */
>>>> >
>>>> > public class SpringInit implements ServiceLifeCycle {
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * SPRING_CONTEXT_FILE_NAMES
>>>> >
>>>> >      */
>>>> >
>>>> >     public static final String SPRING_CONTEXT_FILE_NAMES =
>>>> > "springContextFileNames";
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * logger
>>>> >
>>>> >      */
>>>> >
>>>> >     private static Log logger = LogFactory.getLog(SpringInit.class);
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * springInit
>>>> >
>>>> >      * @param ignore ignore
>>>> >
>>>> >      * @return OMElement OMElement
>>>> >
>>>> >      */
>>>> >
>>>> >     public OMElement springInit(OMElement ignore) {
>>>> >
>>>> >
>>>> >
>>>> >         return null;
>>>> >
>>>> >     }
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * This will be called during the system shut down time.
>>>> > irrespective of the service scope this method will be
>>>> >
>>>> >      * called
>>>> >
>>>> >      * @param ctxIgnore ctxIgnore
>>>> >
>>>> >      * @param ignore ignore
>>>> >
>>>> >      */
>>>> >
>>>> >     public void shutDown(ConfigurationContext ctxIgnore, AxisService
>>>> > ignore) {
>>>> >
>>>> >     }
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * this will be called during the deployement time of the
>>>> service.
>>>> > irrespective of the service scope this method
>>>> >
>>>> >      * will be called
>>>> >
>>>> >      * @param ignore ignore
>>>> >
>>>> >      * @param service service
>>>> >
>>>> >      */
>>>> >
>>>> >     public void startUp(ConfigurationContext ignore, AxisService
>>>> > service) {
>>>> >
>>>> >         // By Default Spring uses
>>>> > Thread.currentThread().getContextClassLoader() to load
>>>> >
>>>> >         // classes. When in the context of a Axis2 Service, we want
>>>> to
>>>> > use the Service ClassLoader
>>>> >
>>>> >         // instead of the context (or in this case webapp)
>>>> ClassLoader.
>>>> > Therefore, we need to temporarily
>>>> >
>>>> >         // set the context ClassLoader equal to the Service
>>>> ClassLoader
>>>> > while we are loading the spring
>>>> >
>>>> >         // context files. Once the spring context is loaded, we set
>>>> the
>>>> > context ClassLoader back to
>>>> >
>>>> >         // what is was before.
>>>> >
>>>> >         ClassLoader contextCl =
>>>> > Thread.currentThread().getContextClassLoader();
>>>> >
>>>> >         ClassLoader classLoader = service.getClassLoader();
>>>> >
>>>> >         Thread.currentThread().setContextClassLoader(classLoader);
>>>> >
>>>> >         String[] springContextFiles =
>>>> >
>>>> getSpringContextFileNames(service.getParameter(SPRING_CONTEXT_FILE_NAMES
>>>> > )
>>>> >
>>>> >                 .getValue().toString(), classLoader);
>>>> >
>>>> >         ClassPathXmlApplicationContext appCtx = new
>>>> > ClassPathXmlApplicationContext(springContextFiles, false);
>>>> >
>>>> >
>>>> >
>>>> >         // save the spring context in a static class
>>>> >
>>>> >         Axis2SpringContextHolder.setContext(appCtx);
>>>> >
>>>> >
>>>> >
>>>> >         appCtx.setClassLoader(classLoader);
>>>> >
>>>> >         appCtx.refresh();
>>>> >
>>>> >
>>>> >
>>>> >         // set the context ClassLoader back to the webapp ClassLoader
>>>> >
>>>> >         Thread.currentThread().setContextClassLoader(contextCl);
>>>> >
>>>> >
>>>> >
>>>> >         if (logger.isDebugEnabled()) {
>>>> >
>>>> >             logger.debug("\n\nstartUp() set spring classloader via
>>>> > axisService.getClassLoader() ... ");
>>>> >
>>>> >         }
>>>> >
>>>> >     }
>>>> >
>>>> >
>>>> >
>>>> >     /**
>>>> >
>>>> >      * getSpringContextFileNames
>>>> >
>>>> >      * @param springContextParam springContextParam
>>>> >
>>>> >      * @param cl cl
>>>> >
>>>> >      * @return String[] spring context file names
>>>> >
>>>> >      */
>>>> >
>>>> >     private String[] getSpringContextFileNames(String
>>>> > springContextParam, ClassLoader cl) {
>>>> >
>>>> >         StringTokenizer tokenizer = new
>>>> > StringTokenizer(springContextParam, ",");
>>>> >
>>>> >         String[] urls = new String[tokenizer.countTokens()];
>>>> >
>>>> >         int i = 0;
>>>> >
>>>> >
>>>> >
>>>> >         if (logger.isDebugEnabled()) {
>>>> >
>>>> >             logger.debug("ClassLoader = " + cl);
>>>> >
>>>> >             logger.debug("Token count = " + tokenizer.countTokens());
>>>> >
>>>> >             logger.debug("Context files = " + springContextParam);
>>>> >
>>>> >         }
>>>> >
>>>> >
>>>> >
>>>> >         while ((tokenizer.hasMoreTokens())) {
>>>> >
>>>> >             String contextFile = ((String)
>>>> > tokenizer.nextToken()).trim();
>>>> >
>>>> >             // URL url = cl.getResource("/" + contextFile);
>>>> >
>>>> >             URL url = this.getClass().getResource("/" + contextFile);
>>>> >
>>>> >
>>>> >
>>>> >             if (logger.isDebugEnabled()) {
>>>> >
>>>> >                 logger.debug("find resource /" + contextFile);
>>>> >
>>>> >                 logger.debug("loading spring context file " + url);
>>>> >
>>>> >             }
>>>> >
>>>> >
>>>> >
>>>> >             if (url == null) {
>>>> >
>>>> >                 urls[i] = null;
>>>> >
>>>> >             } else {
>>>> >
>>>> >                 urls[i] = url.toString();
>>>> >
>>>> >             }
>>>> >
>>>> >
>>>> >
>>>> >             i++;
>>>> >
>>>> >         }
>>>> >
>>>> >
>>>> >
>>>> >         return urls;
>>>> >
>>>> >     }
>>>> >
>>>> > }
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > ________________________________
>>>> >
>>>> > From: Anthony Bull [mailto:anthony.bull@bcsoft.co.nz]
>>>> > Sent: Thursday, November 29, 2007 7:21 PM
>>>> > To: axis-user@ws.apache.org
>>>> > Subject: Re: Problem with Using Spring and Hibernate with Axis2
>>>> >
>>>> >
>>>> >
>>>> > You will find the most persistance frameworks have real problems when
>>>> > combined with Spring inside an AAR. The Spring inside the AAR
>>>> approach
>>>> > on the Axis2 website does not work correctly when using persistance
>>>> > frameworks.
>>>> >
>>>> > iBATIS and JPA also have similar issues where the only way around it
>>>> is
>>>> > to expand the AAR file.  With iBATIS its even worse, as no matter
>>>> what
>>>> > you do, your mapping XML files only load from the
>>>> axis2/WEB-INF/classes
>>>> > area.  In the end, I ended up dropping the Axis2 Spring setup and do
>>>> my
>>>> > own Spring initialisation from my Service Skeleton class, so I can
>>>> > ensure the correct classloader is used to boot my Spring context.
>>>> >
>>>> > ndthuy wrote:
>>>> >
>>>> > All,
>>>> >
>>>> > When I am not using axis2, I don't have any problem with loading
>>>> > applicationContext.xml
>>>> >
>>>> >
>>>> > iksrazal wrote:
>>>> >
>>>> >
>>>> >       Remove 'parameter name="ServiceClass"' entries - they should be
>>>> > there
>>>> >       when using spring beans in your service.xml .
>>>> >
>>>> >       Beyond that, looks like you have a spring issue and not an
>>>> axis2
>>>> > issue
>>>> >       - you seem to have problems with this area:
>>>> >
>>>> >
>>>> >
>>>> >                       <bean id="apSecurity"
>>>> >
>>>> > class="com.cvg.ap.service.privateservices.APSecurity">
>>>> >                               <property name="usersEntity">
>>>> >                                       <ref
>>>> > local="usersEntityProxyBean" />
>>>> >                               </property>
>>>> >                               <property name="metadataEntity">
>>>> >                                       <ref local="metadataEntity" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >       HTH,
>>>> >       Robert
>>>> >       HTH,
>>>> >       Robert
>>>> >
>>>> >       On Nov 29, 2007 1:08 PM, ndthuy <nd...@yahoo.com>
>>>>
>>>> > <ma...@yahoo.com>  wrote:
>>>> >
>>>> >
>>>> >               Hi All,
>>>> >
>>>> >               I am using Spring and Hibernate with Axis2. I have the
>>>> > problem with
>>>> >               loading
>>>> >               the applicationContext.xml. Does anyone has similar
>>>> > problems?
>>>> >               Attached are service.xml, applicationContext.xml and
>>>> > error meesage.
>>>> >
>>>> >               Thanks a lot.
>>>> >
>>>> >               service.xml
>>>> >
>>>> >               <?xml version="1.0" encoding="UTF-8"?>
>>>> >               <!-- This file was auto-generated from WSDL -->
>>>> >               <!-- by the Apache Axis2 version: 1.3  Built on : Aug
>>>> > 10, 2007 (04:45:47
>>>> >               LKT) -->
>>>> >               <serviceGroup>
>>>> >                       <service name="SpringInit"
>>>> > class="com.cvg.ap.util.SpringInit">
>>>> >                               <description>This web service
>>>> > initializes
>>>> >               Spring.</description>
>>>> >                               <parameter name="ServiceClass">
>>>> >                                      
>>>> sample.spring.service.SpringInit
>>>> >                               </parameter>
>>>> >                               <parameter
>>>> > name="ServiceTCCL">composite</parameter>
>>>> >                               <parameter
>>>> > name="load-on-startup">true</parameter>
>>>> >                               <operation name="springInit">
>>>> >                                       <messageReceiver
>>>> >
>>>> >
>>>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
>>>> >                               </operation>
>>>> >                       </service>
>>>> >
>>>> >                       <service name="AdminRetrieveUserService">
>>>> >                               <messageReceivers>
>>>> >                                       <messageReceiver
>>>> >               mep="http://www.w3.org/ns/wsdl/in-out"
>>>> > <http://www.w3.org/ns/wsdl/in-out>
>>>> >
>>>> >
>>>> >
>>>> class="com.cvg.ap.ws.service.publicservices.adminretrieveuserservice.Adm
>>>> > inRetrieveUserServiceMessageReceiverInOut"
>>>> >               />
>>>> >                               </messageReceivers>
>>>> >                               <parameter name="ServiceClass">
>>>> >
>>>> >
>>>> >
>>>> com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServiceImpl
>>>> >                               </parameter>
>>>> >                               <parameter
>>>> name="ServiceObjectSupplier">
>>>> >
>>>> >
>>>> >
>>>> org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObject
>>>> > Supplier
>>>> >                               </parameter>
>>>> >                               <parameter name="SpringBeanName">
>>>> >                                       springAdminRetrieveUserService
>>>> >                               </parameter>
>>>> >                               <parameter
>>>> > name="useOriginalwsdl">true</parameter>
>>>> >                               <parameter
>>>> >               name="modifyUserWSDLPortAddress">true</parameter>
>>>> >                               <operation name="retrieveUserProfile"
>>>> >
>>>> > mep="http://www.w3.org/ns/wsdl/in-out"
>>>> > <http://www.w3.org/ns/wsdl/in-out> >
>>>> >
>>>> >               <actionMapping>urn:retrieveUserProfile</actionMapping>
>>>> >                                       <outputActionMapping>
>>>> >
>>>> >
>>>> >
>>>> http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com/Adm
>>>> > inRetrieveUserServicePortType/retrieveUserProfileResponse
>>>> >                                       </outputActionMapping>
>>>> >                               </operation>
>>>> >                       </service>
>>>> >               </serviceGroup>
>>>> >
>>>> >
>>>> >               ApplicationContext.xml
>>>> >
>>>> >               <?xml version="1.0" encoding="UTF-8"?>
>>>> >               <beans
>>>> > xmlns="http://www.springframework.org/schema/beans"
>>>> > <http://www.springframework.org/schema/beans>
>>>> >
>>>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>> > <http://www.w3.org/2001/XMLSchema-instance>
>>>> >
>>>> > xsi:schemaLocation="http://www.springframework.org/schema/beans
>>>> >
>>>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>>>> > g/schema/beans/spring-beans-2.0.xsd>
>>>> >
>>>> > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
>>>> >
>>>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>>>> > g/schema/beans/spring-beans-2.0.xsd> >
>>>> >
>>>> >                       <bean id="applicationContext"
>>>> >
>>>> >
>>>> >
>>>> class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHo
>>>> > lder"
>>>> >               />
>>>> >
>>>> >                       <bean id="sessionFactory"
>>>> >
>>>> >
>>>> > class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>>>> >                               <property name="configLocation"
>>>> >
>>>> > value="classpath:hibernate.cfg.xml">
>>>> >                               </property>
>>>> >                               <property name="dataSource">
>>>> >                                       <ref local="c3poDataSource" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >                       <bean id="propertyConfigurer"
>>>> >
>>>> >
>>>> >
>>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>>> > gurer">
>>>> >                               <property name="location">
>>>> >                                       <value>
>>>> >
>>>> >               file:$ <file:///\\$>
>>>>
>>>> >
>>>> {ACCESSPOINT_WS_CFG_HOME}/accesspoint_ws/config/accesspoint_ws.propertie
>>>> > s
>>>> >                                       </value>
>>>> >                               </property>
>>>> >                       </bean>
>>>> >                       <bean id="c3poDataSource"
>>>> >
>>>> > class="com.mchange.v2.c3p0.ComboPooledDataSource"
>>>> >                               destroy-method="close">
>>>> >                               <property name="driverClass">
>>>> >
>>>> > <value>oracle.jdbc.driver.OracleDriver</value>
>>>> >                               </property>
>>>> >                               <property name="jdbcUrl">
>>>> >                                       <value>
>>>> >
>>>> >
>>>> > jdbc:oracle:thin:@${jdbc.host}:${jdbc.port}:${jdbc.database}
>>>> >                                       </value>
>>>> >                               </property>
>>>> >
>>>> >                               <property name="properties">
>>>> >                                       <props>
>>>> >                                               <prop
>>>> > key="user">${jdbc.username}</prop>
>>>> >                                               <prop key="password">
>>>> >
>>>> > ${ACCESSPOINT_DB_PWD_DECRYPTED}
>>>> >                                               </prop>
>>>> >                                               <prop
>>>> > key="c3p0.min_size">
>>>> >
>>>> > ${jdbc.connectionPool.minSize}
>>>> >                                               </prop>
>>>> >                                               <prop
>>>> > key="c3p0.max_size">
>>>> >
>>>> > ${jdbc.connectionPool.maxSize}
>>>> >                                               </prop>
>>>> >                                               <prop
>>>> > key="c3p0.acquire_increment">
>>>> >
>>>> > ${jdbc.connectionPool.increment}
>>>> >                                               </prop>
>>>> >                                               <prop
>>>> >               key="c3p0.idle_test_period">100</prop>
>>>> >                                       </props>
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >                       <bean id="GroupsDAO"
>>>> > class="com.cvg.ap.dao.GroupsDAO">
>>>> >                               <property name="sessionFactory">
>>>> >                                       <ref bean="sessionFactory" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >                       <bean id="UsersDAO"
>>>> > class="com.cvg.ap.dao.UsersDAO">
>>>> >                               <property name="hibernateTemplate">
>>>> >                                       <ref bean="hibernateTemplate"
>>>> />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >                       <bean id="MetadataDAO"
>>>> > class="com.cvg.ap.dao.MetadataDAO">
>>>> >                               <property name="sessionFactory">
>>>> >                                       <ref bean="sessionFactory" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >                       <bean id="hibernateTemplate"
>>>> >
>>>> >
>>>> > class="org.springframework.orm.hibernate3.HibernateTemplate">
>>>> >                               <property name="sessionFactory">
>>>> >                                       <ref bean="sessionFactory" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >                       <bean id="transactionManager"
>>>> >
>>>> >
>>>> >
>>>> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>>>> >                               <property name="sessionFactory">
>>>> >                                       <ref local="sessionFactory" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="hibernateInterceptor"
>>>> >
>>>> >
>>>> > class="org.springframework.orm.hibernate3.HibernateInterceptor">
>>>> >                               <property name="sessionFactory">
>>>> >                                       <ref bean="sessionFactory" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="usersEntityInterceptor"
>>>> >
>>>> >
>>>> >
>>>> class="org.springframework.transaction.interceptor.TransactionIntercepto
>>>> > r">
>>>> >                               <property name="transactionManager">
>>>> >                                       <ref local="transactionManager"
>>>> > />
>>>> >                               </property>
>>>> >                               <property name="transactionAttributes">
>>>> >                                       <props>
>>>> >                                               <prop
>>>> >               key="get*">PROPAGATION_REQUIRED,readOnly</prop>
>>>> >                                               <prop
>>>> >               key="save*">PROPAGATION_REQUIRED</prop>
>>>> >                                               <prop
>>>> >               key="update*">PROPAGATION_REQUIRED</prop>
>>>> >                                               <prop
>>>> >               key="delete*">PROPAGATION_REQUIRED</prop>
>>>> >                                               <prop
>>>> >               key="updateUserForSuccessfulAuthentication*">
>>>> >
>>>> > PROPAGATION_REQUIRED
>>>> >                                               </prop>
>>>> >                                               <prop
>>>> >               key="updateUserForFailedAuthentication*">
>>>> >
>>>> > PROPAGATION_REQUIRED
>>>> >                                               </prop>
>>>> >                                       </props>
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="usersEntityProxyTargetBean"
>>>> >                               class="com.cvg.ap.dbms.UsersEntity">
>>>> >                               <property name="apUsersDAO">
>>>> >                                       <ref local="UsersDAO" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="usersEntityProxyBean"
>>>> >
>>>> >
>>>> > class="org.springframework.aop.framework.ProxyFactoryBean">
>>>> >                               <property name="proxyTargetClass">
>>>> >                                       <value>true</value>
>>>> >                               </property>
>>>> >                               <property name="interceptorNames">
>>>> >                                       <list>
>>>> >
>>>> > <value>hibernateInterceptor</value>
>>>> >
>>>> > <value>usersEntityInterceptor</value>
>>>> >                                       </list>
>>>> >                               </property>
>>>> >                               <property name="target">
>>>> >                                       <ref
>>>> > local="usersEntityProxyTargetBean" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="metadataEntity"
>>>> > class="com.cvg.ap.dbms.MetadataEntity">
>>>> >                               <property name="metadataDAO">
>>>> >                                       <ref local="MetadataDAO" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="acmServicesEntity"
>>>> >
>>>> > class="com.cvg.ap.dbms.ACMServicesEntity">
>>>> >                               <property name="acmServicesDAO">
>>>> >                                       <ref local="AcmServiceDAO" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="apSecurity"
>>>> >
>>>> > class="com.cvg.ap.service.privateservices.APSecurity">
>>>> >                               <property name="usersEntity">
>>>> >                                       <ref
>>>> > local="usersEntityProxyBean" />
>>>> >                               </property>
>>>> >                               <property name="metadataEntity">
>>>> >                                       <ref local="metadataEntity" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="groupsEntity"
>>>> > class="com.cvg.ap.dbms.GroupsEntity">
>>>> >                               <property name="groupsDAO">
>>>> >                                       <ref local="GroupsDAO" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="apUserManagement"
>>>> >
>>>> >
>>>> > class="com.cvg.ap.service.privateservices.APUserManagement">
>>>> >                               <property name="usersEntity">
>>>> >                                       <ref
>>>> > local="usersEntityProxyBean" />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >                       <bean id="adminRetrieveUserService"
>>>> >
>>>> >
>>>> >
>>>> class="com.cvg.ap.service.publicservices.impl.AdminRetrieveUserServiceIm
>>>> > pl">
>>>> >                               <property name="apSecurity">
>>>> >                                       <ref local="apSecurity" />
>>>> >                               </property>
>>>> >                               <property name="apUserManagement">
>>>> >                                       <ref local="apUserManagement"
>>>> />
>>>> >                               </property>
>>>> >                       </bean>
>>>> >
>>>> >
>>>> >
>>>> >                       <!-- Axis2 Web Service, but to Spring, its just
>>>> > another bean that
>>>> >               has
>>>> >               dependencies -->
>>>> >                       <bean id="springAdminRetrieveUserService"
>>>> >
>>>> >
>>>> >
>>>> class="com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServic
>>>>
>>>> > eImpl">
>>>> >                               <property
>>>> > name="adminRetrieveUserService"
>>>> >                                       ref="adminRetrieveUserService"
>>>> > />
>>>> >                       </bean>
>>>> >               </beans>
>>>> >
>>>> >
>>>> >               Errors:
>>>> >
>>>> >               org.apache.axis2.deployment.DeploymentException: Error
>>>> > creating bean with
>>>> >               name 'apSecurity' defined in class path resource
>>>> >               [applicationContext.xml]:
>>>> >               Cannot resolve reference to bean 'usersEntityProxyBean'
>>>> > while setting
>>>> >               bean
>>>> >               property 'usersEntity'; nested exception is
>>>> >              
>>>> org.springframework.beans.factory.BeanCreationException:
>>>> > Error creating
>>>> >               bean
>>>> >               with name 'usersEntityProxyBean': FactoryBean threw
>>>> > exception on object
>>>> >               creation; nested exception is
>>>> > java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>>>> > viceGroupBuilder.java:106)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGr
>>>> > oup(ArchiveReader.java:103)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.repository.util.ArchiveReader.processService
>>>> > Group(ArchiveReader.java:172)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:
>>>> > 78)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(De
>>>> > ploymentFileData.java:137)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.j
>>>> > ava:571)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList
>>>> > .java:141)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener
>>>> > .java:318)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryL
>>>> > istener.java:220)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngi
>>>> > ne.java:118)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBas
>>>> > edAxisConfigurator.java:272)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
>>>> > Context(ConfigurationContextFactory.java:78)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
>>>> > t.java:500)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:420)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
>>>> > a:1139)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
>>>> > ava:3956)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4230
>>>> > )
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
>>>> > va:760)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
>>>> > 1)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
>>>> > pport.java:120)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>>>> >                       at
>>>> > org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>>>> >                       at
>>>> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> >                       at
>>>> >
>>>> >
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
>>>> > a:39)
>>>> >                       at
>>>> >
>>>> >
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
>>>> > Impl.java:25)
>>>> >                       at
>>>> > java.lang.reflect.Method.invoke(Method.java:585)
>>>> >                       at
>>>> >
>>>> > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>>>> >                       at
>>>> > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>>>> >               Caused by:
>>>> > org.apache.axis2.deployment.DeploymentException: Error
>>>> >               creating
>>>> >               bean with name 'apSecurity' defined in class path
>>>> > resource
>>>> >               [applicationContext.xml]: Cannot resolve reference to
>>>> > bean
>>>> >               'usersEntityProxyBean' while setting bean property
>>>> > 'usersEntity'; nested
>>>> >               exception is
>>>> > org.springframework.beans.factory.BeanCreationException:
>>>> >               Error
>>>> >               creating bean with name 'usersEntityProxyBean':
>>>> > FactoryBean threw
>>>> >               exception
>>>> >               on object creation; nested exception is
>>>> > java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>>>> > r.java:389)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>>>> > viceGroupBuilder.java:101)
>>>> >                       ... 39 more
>>>> >               Caused by:
>>>> > org.apache.axis2.deployment.DeploymentException: Error
>>>> >               creating
>>>> >               bean with name 'apSecurity' defined in class path
>>>> > resource
>>>> >               [applicationContext.xml]: Cannot resolve reference to
>>>> > bean
>>>> >               'usersEntityProxyBean' while setting bean property
>>>> > 'usersEntity'; nested
>>>> >               exception is
>>>> > org.springframework.beans.factory.BeanCreationException:
>>>> >               Error
>>>> >               creating bean with name 'usersEntityProxyBean':
>>>> > FactoryBean threw
>>>> >               exception
>>>> >               on object creation; nested exception is
>>>> > java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>>>> > viceBuilder.java:473)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>>>> > r.java:184)
>>>> >                       ... 40 more
>>>> >               Caused by:
>>>> > org.springframework.beans.factory.BeanCreationException: Error
>>>> >               creating bean with name 'apSecurity' defined in class
>>>> > path resource
>>>> >               [applicationContext.xml]: Cannot resolve reference to
>>>> > bean
>>>> >               'usersEntityProxyBean' while setting bean property
>>>> > 'usersEntity'; nested
>>>> >               exception is
>>>> > org.springframework.beans.factory.BeanCreationException:
>>>> >               Error
>>>> >               creating bean with name 'usersEntityProxyBean':
>>>> > FactoryBean threw
>>>> >               exception
>>>> >               on object creation; nested exception is
>>>> > java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>>> > solveReference(BeanDefinitionValueResolver.java:275)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>>> > solveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>>> >
>>>> tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1095)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>>> > tory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>>> > tory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
>>>> > t(AbstractBeanFactory.java:249)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
>>>> > etSingleton(DefaultSingletonBeanRegistry.java:155)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>>> > stractBeanFactory.java:246)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>>> > stractBeanFactory.java:160)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
>>>> > InstantiateSingletons(DefaultListableBeanFactory.java:291)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.context.support.AbstractApplicationContext.refresh(A
>>>> > bstractApplicationContext.java:352)
>>>> >                       at
>>>>
>>>> > com.cvg.ap.util.SpringInit.startUp(SpringInit.java:60)
>>>> >                       at
>>>> >
>>>> >
>>>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>>>> > viceBuilder.java:469)
>>>> >                       ... 41 more
>>>> >               Caused by:
>>>> > org.springframework.beans.factory.BeanCreationException: Error
>>>> >               creating bean with name 'usersEntityProxyBean':
>>>> > FactoryBean threw
>>>> >               exception
>>>> >               on object creation; nested exception is
>>>> > java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>>> > romFactoryBean(AbstractBeanFactory.java:1252)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>>> > orBeanInstance(AbstractBeanFactory.java:1217)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>>> > stractBeanFactory.java:206)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>>> > stractBeanFactory.java:160)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>>> > solveReference(BeanDefinitionValueResolver.java:267)
>>>> >                       ... 53 more
>>>> >               Caused by: java.lang.NoClassDefFoundError
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.aop.framework.Cglib2AopProxy.createEnhancer(Cglib2Ao
>>>> > pProxy.java:223)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy
>>>> > .java:150)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.aop.framework.ProxyFactoryBean.getProxy(ProxyFactory
>>>> > Bean.java:347)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(
>>>> > ProxyFactoryBean.java:302)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFactor
>>>> > yBean.java:228)
>>>> >                       at
>>>> >
>>>> >
>>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>>> > romFactoryBean(AbstractBeanFactory.java:1246)
>>>> >                       ... 57 more
>>>> >
>>>> >               --
>>>> >               View this message in context:
>>>> >
>>>> >
>>>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2
>>>> > -tf4898949.html#a14031519
>>>> >               Sent from the Axis - User mailing list archive at
>>>> > Nabble.com.
>>>> >
>>>> >
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> >               To unsubscribe, e-mail:
>>>> > axis-user-unsubscribe@ws.apache.org
>>>> >               For additional commands, e-mail:
>>>> > axis-user-help@ws.apache.org
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > ---------------------------------------------------------------------
>>>> >       To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>>> >       For additional commands, e-mail: axis-user-help@ws.apache.org
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> >
>>>> > Anthony
>>>> > -------------------------------------
>>>> > Anthony Bull
>>>> > Senior Developer
>>>> > Black Coffee Software Ltd
>>>> > PO Box 10-192 The Terrace
>>>> > Wellington, New Zealand
>>>> >
>>>> > anthony.bull@bcsoft.co.nz
>>>> > Ph  +64 4 472 8818
>>>> > Fax +64 4 472 8811
>>>> > -------------------------------------
>>>> > www.bcsoft.co.nz
>>>> > ---------------------------------------------------------------
>>>> > This email may contain confidential or privileged information,
>>>> > and is intended for use only by the addressee, or addressees.
>>>> > If you are not the intended recipient please advise the sender
>>>> > immediately and do not copy, use or disclose the contents to
>>>> > any other person or organisation.
>>>> > Black Coffee Software Ltd accepts no responsibility for viruses
>>>> > received with this email, or to any changes made to the original
>>>> > content. Any views or opinions expressed in this email may be
>>>> > personal to the sender and are not necessarily those of Black
>>>> > Coffee Software Ltd.
>>>> > ---------------------------------------------------------------
>>>> > ---------------------------------------------------------------------
>>>> To
>>>> > unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For
>>>> additional
>>>> > commands, e-mail: axis-user-help@ws.apache.org
>>>> >
>>>> >
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14070476
>>>>
>>>> Sent from the Axis - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>>>
>>>>
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14100779
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


RE: Problem with Using Spring and Hibernate with Axis2

Posted by ndthuy <nd...@yahoo.com>.
All,

I began with a web application that using spring + hibernate. Below is my
development environment:
   - myeclipse 6.0.1 GA
   - adding all spring and hibernate libraries
   - start define some transaction control using ProxyFactoryBean

Everything works fine to this point. Now I want to expose some service as
web-services using Axis2. This is my setup at this point:

WebApp:
        + src
        + WebRoot
            + conf
            + lib
            + modules
            + services
               + common
               + META-INF
                  + AdminRetrieveUserService.wsdl
                  + apschema.xsd
                  + services.xml

These are content of AdminRetrieveUserService.wsdl and apschema.xsd


<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions 
	xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
	xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
	xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:apschema="http://service.ws.ap.cvg.com/apschema"

xmlns:tns="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
	name="AdminRetrieveUserService"

targetNamespace="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com">

	<wsdl:types>
		<xsd:schema
xmlns:tns1="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
			attributeFormDefault="qualified" elementFormDefault="qualified"
		
targetNamespace="http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<xsd:import namespace="http://service.ws.ap.cvg.com/apschema"
				schemaLocation="apschema.xsd" />
			<xsd:element name="retrieveUserProfile">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="userName" type="xsd:string" />
						<xsd:element name="password" type="xsd:string" />
						<xsd:element name="source" type="xsd:string" />
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="retrieveUserProfileResponse">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element minOccurs="0" name="return"
							nillable="true" type="apschema:RetrieveUserProfileVO" />
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:schema>
	</wsdl:types>
	<wsdl:message name="retrieveUserProfileRequest">
		<wsdl:part element="tns:retrieveUserProfile" name="parameters" />
	</wsdl:message>
	<wsdl:message name="retrieveUserProfileResponse">
		<wsdl:part element="tns:retrieveUserProfileResponse" name="parameters" />
	</wsdl:message>
	
	<wsdl:portType name="AdminRetrieveUserServicePortType">
		<wsdl:operation name="retrieveUserProfile">
			<wsdl:input message="tns:retrieveUserProfileRequest" />
			<wsdl:output message="tns:retrieveUserProfileResponse" />
		</wsdl:operation>
	</wsdl:portType>
	
	<wsdl:binding name="AdminRetrieveUserServiceSOAP11Binding"
		type="tns:AdminRetrieveUserServicePortType">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="retrieveUserProfile">
			<soap:operation soapAction="urn:retrieveUserProfile"
				style="document" />
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:binding name="AdminRetrieveUserServiceSOAP12Binding"
		type="tns:AdminRetrieveUserServicePortType">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="retrieveUserProfile">
			<soap12:operation soapAction="urn:retrieveUserProfile"
				style="document" />
			<wsdl:input>
				<soap12:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap12:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:binding name="AdminRetrieveUserServiceHttpBinding"
		type="tns:AdminRetrieveUserServicePortType">
		<http:binding verb="POST" />
		<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="retrieveUserProfile">
			<http:operation location="AdminRetrieveUserService/retrieveUserProfile"
/>
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	
	<wsdl:service name="AdminRetrieveUserService">
		<wsdl:port name="AdminRetrieveUserServiceSOAP11port_http"
			binding="tns:AdminRetrieveUserServiceSOAP11Binding">
			<soap:address
			
location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
/>
		</wsdl:port>
		<wsdl:port name="AdminRetrieveUserServiceSOAP12port_http"
			binding="tns:AdminRetrieveUserServiceSOAP12Binding">
			<soap12:address
			
location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
/>
		</wsdl:port>
		<wsdl:port name="AdminRetrieveUserServiceHttpport"
			binding="tns:AdminRetrieveUserServiceHttpBinding">
			<http:address
			
location="http://localhost:8080/APTemplate/services/AdminRetrieveUserService"
/>
		</wsdl:port>
	</wsdl:service>
	
</wsdl:definitions>


<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	targetNamespace="http://service.ws.ap.cvg.com/apschema"
	xmlns:apschema="http://service.ws.ap.cvg.com/apschema"
	elementFormDefault="qualified">
	<xsd:complexType name="User">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="userId" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="company" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="userPwd" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="userName" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="createdDate"
				nillable="true" type="xsd:string" />
			<xsd:element minOccurs="0" name="createdBy" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="emailAddress"
				nillable="true" type="xsd:string" />
			<xsd:element minOccurs="0" name="expirationDate"
				nillable="true" type="xsd:string" />
			<xsd:element minOccurs="0" name="userStatus" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="passwordStatus"
				nillable="true" type="xsd:string" />
			<xsd:element minOccurs="0" name="role" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="action" nillable="true"
				type="xsd:string" />
		</xsd:sequence>
	</xsd:complexType>
	
	<xsd:complexType name="RetrieveUserProfileVO">
		<xsd:sequence>
			<xsd:element minOccurs="0" name="success" nillable="true"
				type="xsd:boolean" />
			<xsd:element minOccurs="0" name="message" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="messageCode" nillable="true"
				type="xsd:string" />
			<xsd:element minOccurs="0" name="userProfile" nillable="true"
				type="apschema:User" />
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>


1. I use plug-in tool to generate skeleton files to the same web
application.
2. I begin to modify web.xml as follow:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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">
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<servlet>
		<servlet-name>context</servlet-name>
		<servlet-class>
			org.springframework.web.context.ContextLoaderServlet
		</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>AxisServlet</servlet-name>
		<servlet-class>
			org.apache.axis2.transport.http.AxisServlet
		</servlet-class>
		<!--<init-param>-->
		<!--<param-name>axis2.xml.path</param-name>-->
		<!--<param-value>/WEB-INF/conf/axis2.xml</param-value>-->
		<!--<param-name>axis2.xml.url</param-name>-->
		<!--<param-value>http://localhot/myrepo/axis2.xml</param-value>-->
		<!--<param-name>axis2.repository.path</param-name>-->
		<!--<param-value>/WEB-INF</param-value>-->
		<!--<param-name>axis2.repository.url</param-name>-->
		<!--<param-value>http://localhot/myrepo</param-value>-->
		<!--</init-param>-->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/servlet/AxisServlet</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>AxisServlet</servlet-name>
		<url-pattern>/services/*</url-pattern>
	</servlet-mapping>
</web-app>

3. I modify services.xml as follow:

<?xml version="1.0" encoding="UTF-8"?>
<!-- This file was auto-generated from WSDL -->
<!-- by the Apache Axis2 version: 1.3  Built on : Aug 10, 2007 (04:45:47
LKT) -->
<serviceGroup>

	<service name="AdminRetrieveUserService">
		<messageReceivers>
			<messageReceiver mep="http://www.w3.org/ns/wsdl/in-out"
			
class="com.cvg.ap.ws.service.publicservices.adminretrieveuserservice.AdminRetrieveUserServiceMessageReceiverInOut"
/>
		</messageReceivers>
		
		<parameter name="ServiceObjectSupplier">
		
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
		</parameter>
		<parameter name="SpringBeanName">
			springAdminRetrieveUserService
		</parameter>
		<parameter name="useOriginalwsdl">true</parameter>
		<parameter name="modifyUserWSDLPortAddress">true</parameter>
		<operation name="retrieveUserProfile"
			mep="http://www.w3.org/ns/wsdl/in-out">
			<actionMapping>urn:retrieveUserProfile</actionMapping>
			<outputActionMapping>
			
http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com/AdminRetrieveUserServicePortType/retrieveUserProfileResponse
			</outputActionMapping>
		</operation>
	</service>
</serviceGroup>

4. my applicationContext.xml is the same with previous post except it
doesn't have <bean id="applicationContext"

5. I still receive error of 
 org.apache.axis2.deployment.DeploymentException: Error creating bean with
name 'apSecurity' defined in class path resource  [applicationContext.xml]:
               Cannot resolve reference to bean 'usersEntityProxyBean' while
setting bean  property 'usersEntity'; nested exception is
org.springframework.beans.factory.BeanCreationException: ...

Did I do anything wrong ? Thanks a lot.


ndthuy wrote:
> 
> All,
> 
> I will write all steps from A-Z so you can point out what I missed.
> 
> Thanks.
> 
> jp4 wrote:
>> 
>> I definitely agree with Robert's assessment.  I started down the AAR path
>> and was able to get it working with Weblogic.  As requirements changed, I
>> had to add some JSPs that call my POJO services as well.  That is when I
>> decided to move all of my services into the war file.  After a few bumps
>> in the road, which Robert was able to help me through, everything was up
>> and running. 
>> 
>> 
>> -----Original Message-----
>> From: robert lazarski [mailto:robertlazarski@gmail.com]
>> Sent: Fri 11/30/2007 12:00 PM
>> To: axis-user@ws.apache.org
>> Subject: Re: Problem with Using Spring and Hibernate with Axis2
>>  
>> The non-AAR approach is much simpler - you don't need to mess around
>> with the TCCL for that and its the recommended approach. Just put all
>> of your app level classes in WEB-INF/classes, all the spring jars in
>> WEB-INF/lib, load your applicationContext.xml as normally done via a
>> context listener in web.xml, setup your services.xml to use
>> SpringServletContextObjectSupplier and it'll work fine.
>> 
>> Incidently, I'm working on a new tutorial for all this that will
>> explain spring and hibernate integration with a full example start to
>> finish - even inside that AAR. Stay tuned...
>> 
>> HTH,
>> Robert
>> 
>> On Nov 30, 2007 10:12 AM, ndthuy <nd...@yahoo.com> wrote:
>>>
>>> All,
>>>
>>> I am not using the AAR's approach. I bundle the whole axis2 under the
>>> web
>>> application. This is my setup:
>>>
>>> WebApp:
>>>        + src
>>>        + WebRoot
>>>            + conf
>>>            + lib
>>>            + modules
>>>            + services
>>>               + common
>>>               + META-INF
>>>                  + *.wsdl
>>>                  + services.xml
>>>
>>> Does anyone try this approach and make it working to load
>>> applicationContext
>>> from axis2 ?
>>>
>>> Thanks.
>>>
>>>
>>>
>>> jp4 wrote:
>>> >
>>> > I was able to get hibernate working just fine with spring under axis2
>>> > 1.1.  I had to do some classloader manipulation in the SpringInit
>>> > service but it wasn't very difficult.  Basically, you have to set the
>>> > context classloader =  the axis2 class loader while the spring context
>>> > is being loaded.  Once the context is loaded you can put everything
>>> back
>>> > to the way it was.  Keep in mind that this only works when all of your
>>> > libraries are inside the AAR file.
>>> >
>>> >
>>> >
>>> > In the end, I decided to abandon the AAR approach because it was to
>>> > fragile, but I know that this worked before.
>>> >
>>> >
>>> >
>>> > Here is an example...
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > <service name="SpringInit"
>>> > class="com.i4commerce.bml.webservice.axis2.SpringInit">
>>> >
>>> >     <description>
>>> >
>>> >         This is a spring sample Web Service with two operations.
>>> >
>>> >     </description>
>>> >
>>> >     <parameter name="ServiceTCCL" locked="false">composite</parameter>
>>> >
>>> >
>>> >     <parameter name="load-on-startup" locked="false">true</parameter>
>>> >
>>> >     <parameter name="springContextFileNames"
>>> > locked="false">applicationContext.xml,
>>> > applicationContext2.xml</parameter>
>>> >
>>> >     <operation name="springInit">
>>> >
>>> >         <messageReceiver
>>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>>> >
>>> >     </operation>
>>> >
>>> > </service>
>>> >
>>> >
>>> >
>>> > import java.net.URL;
>>> >
>>> > import java.util.StringTokenizer;
>>> >
>>> >
>>> >
>>> > import org.apache.axiom.om.OMElement;
>>> >
>>> > import org.apache.axis2.context.ConfigurationContext;
>>> >
>>> > import org.apache.axis2.description.AxisService;
>>> >
>>> > import org.apache.axis2.engine.ServiceLifeCycle;
>>> >
>>> > import org.apache.commons.logging.Log;
>>> >
>>> > import org.apache.commons.logging.LogFactory;
>>> >
>>> > import
>>> > org.springframework.context.support.ClassPathXmlApplicationContext;
>>> >
>>> >
>>> >
>>> > /**
>>> >
>>> >  * This Axis2 Service Class is used for Axis2-Spring integration.  The
>>> >
>>> >  * primary role of this class is to load spring context files before
>>> > other
>>> >
>>> >  * web services are loaded.
>>> >
>>> >  *
>>> >
>>> >  * @author I4Commerce.
>>> >
>>> >  *
>>> >
>>> >  */
>>> >
>>> > public class SpringInit implements ServiceLifeCycle {
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * SPRING_CONTEXT_FILE_NAMES
>>> >
>>> >      */
>>> >
>>> >     public static final String SPRING_CONTEXT_FILE_NAMES =
>>> > "springContextFileNames";
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * logger
>>> >
>>> >      */
>>> >
>>> >     private static Log logger = LogFactory.getLog(SpringInit.class);
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * springInit
>>> >
>>> >      * @param ignore ignore
>>> >
>>> >      * @return OMElement OMElement
>>> >
>>> >      */
>>> >
>>> >     public OMElement springInit(OMElement ignore) {
>>> >
>>> >
>>> >
>>> >         return null;
>>> >
>>> >     }
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * This will be called during the system shut down time.
>>> > irrespective of the service scope this method will be
>>> >
>>> >      * called
>>> >
>>> >      * @param ctxIgnore ctxIgnore
>>> >
>>> >      * @param ignore ignore
>>> >
>>> >      */
>>> >
>>> >     public void shutDown(ConfigurationContext ctxIgnore, AxisService
>>> > ignore) {
>>> >
>>> >     }
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * this will be called during the deployement time of the service.
>>> > irrespective of the service scope this method
>>> >
>>> >      * will be called
>>> >
>>> >      * @param ignore ignore
>>> >
>>> >      * @param service service
>>> >
>>> >      */
>>> >
>>> >     public void startUp(ConfigurationContext ignore, AxisService
>>> > service) {
>>> >
>>> >         // By Default Spring uses
>>> > Thread.currentThread().getContextClassLoader() to load
>>> >
>>> >         // classes. When in the context of a Axis2 Service, we want to
>>> > use the Service ClassLoader
>>> >
>>> >         // instead of the context (or in this case webapp)
>>> ClassLoader.
>>> > Therefore, we need to temporarily
>>> >
>>> >         // set the context ClassLoader equal to the Service
>>> ClassLoader
>>> > while we are loading the spring
>>> >
>>> >         // context files. Once the spring context is loaded, we set
>>> the
>>> > context ClassLoader back to
>>> >
>>> >         // what is was before.
>>> >
>>> >         ClassLoader contextCl =
>>> > Thread.currentThread().getContextClassLoader();
>>> >
>>> >         ClassLoader classLoader = service.getClassLoader();
>>> >
>>> >         Thread.currentThread().setContextClassLoader(classLoader);
>>> >
>>> >         String[] springContextFiles =
>>> >
>>> getSpringContextFileNames(service.getParameter(SPRING_CONTEXT_FILE_NAMES
>>> > )
>>> >
>>> >                 .getValue().toString(), classLoader);
>>> >
>>> >         ClassPathXmlApplicationContext appCtx = new
>>> > ClassPathXmlApplicationContext(springContextFiles, false);
>>> >
>>> >
>>> >
>>> >         // save the spring context in a static class
>>> >
>>> >         Axis2SpringContextHolder.setContext(appCtx);
>>> >
>>> >
>>> >
>>> >         appCtx.setClassLoader(classLoader);
>>> >
>>> >         appCtx.refresh();
>>> >
>>> >
>>> >
>>> >         // set the context ClassLoader back to the webapp ClassLoader
>>> >
>>> >         Thread.currentThread().setContextClassLoader(contextCl);
>>> >
>>> >
>>> >
>>> >         if (logger.isDebugEnabled()) {
>>> >
>>> >             logger.debug("\n\nstartUp() set spring classloader via
>>> > axisService.getClassLoader() ... ");
>>> >
>>> >         }
>>> >
>>> >     }
>>> >
>>> >
>>> >
>>> >     /**
>>> >
>>> >      * getSpringContextFileNames
>>> >
>>> >      * @param springContextParam springContextParam
>>> >
>>> >      * @param cl cl
>>> >
>>> >      * @return String[] spring context file names
>>> >
>>> >      */
>>> >
>>> >     private String[] getSpringContextFileNames(String
>>> > springContextParam, ClassLoader cl) {
>>> >
>>> >         StringTokenizer tokenizer = new
>>> > StringTokenizer(springContextParam, ",");
>>> >
>>> >         String[] urls = new String[tokenizer.countTokens()];
>>> >
>>> >         int i = 0;
>>> >
>>> >
>>> >
>>> >         if (logger.isDebugEnabled()) {
>>> >
>>> >             logger.debug("ClassLoader = " + cl);
>>> >
>>> >             logger.debug("Token count = " + tokenizer.countTokens());
>>> >
>>> >             logger.debug("Context files = " + springContextParam);
>>> >
>>> >         }
>>> >
>>> >
>>> >
>>> >         while ((tokenizer.hasMoreTokens())) {
>>> >
>>> >             String contextFile = ((String)
>>> > tokenizer.nextToken()).trim();
>>> >
>>> >             // URL url = cl.getResource("/" + contextFile);
>>> >
>>> >             URL url = this.getClass().getResource("/" + contextFile);
>>> >
>>> >
>>> >
>>> >             if (logger.isDebugEnabled()) {
>>> >
>>> >                 logger.debug("find resource /" + contextFile);
>>> >
>>> >                 logger.debug("loading spring context file " + url);
>>> >
>>> >             }
>>> >
>>> >
>>> >
>>> >             if (url == null) {
>>> >
>>> >                 urls[i] = null;
>>> >
>>> >             } else {
>>> >
>>> >                 urls[i] = url.toString();
>>> >
>>> >             }
>>> >
>>> >
>>> >
>>> >             i++;
>>> >
>>> >         }
>>> >
>>> >
>>> >
>>> >         return urls;
>>> >
>>> >     }
>>> >
>>> > }
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > ________________________________
>>> >
>>> > From: Anthony Bull [mailto:anthony.bull@bcsoft.co.nz]
>>> > Sent: Thursday, November 29, 2007 7:21 PM
>>> > To: axis-user@ws.apache.org
>>> > Subject: Re: Problem with Using Spring and Hibernate with Axis2
>>> >
>>> >
>>> >
>>> > You will find the most persistance frameworks have real problems when
>>> > combined with Spring inside an AAR. The Spring inside the AAR approach
>>> > on the Axis2 website does not work correctly when using persistance
>>> > frameworks.
>>> >
>>> > iBATIS and JPA also have similar issues where the only way around it
>>> is
>>> > to expand the AAR file.  With iBATIS its even worse, as no matter what
>>> > you do, your mapping XML files only load from the
>>> axis2/WEB-INF/classes
>>> > area.  In the end, I ended up dropping the Axis2 Spring setup and do
>>> my
>>> > own Spring initialisation from my Service Skeleton class, so I can
>>> > ensure the correct classloader is used to boot my Spring context.
>>> >
>>> > ndthuy wrote:
>>> >
>>> > All,
>>> >
>>> > When I am not using axis2, I don't have any problem with loading
>>> > applicationContext.xml
>>> >
>>> >
>>> > iksrazal wrote:
>>> >
>>> >
>>> >       Remove 'parameter name="ServiceClass"' entries - they should be
>>> > there
>>> >       when using spring beans in your service.xml .
>>> >
>>> >       Beyond that, looks like you have a spring issue and not an axis2
>>> > issue
>>> >       - you seem to have problems with this area:
>>> >
>>> >
>>> >
>>> >                       <bean id="apSecurity"
>>> >
>>> > class="com.cvg.ap.service.privateservices.APSecurity">
>>> >                               <property name="usersEntity">
>>> >                                       <ref
>>> > local="usersEntityProxyBean" />
>>> >                               </property>
>>> >                               <property name="metadataEntity">
>>> >                                       <ref local="metadataEntity" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >       HTH,
>>> >       Robert
>>> >       HTH,
>>> >       Robert
>>> >
>>> >       On Nov 29, 2007 1:08 PM, ndthuy <nd...@yahoo.com>
>>>
>>> > <ma...@yahoo.com>  wrote:
>>> >
>>> >
>>> >               Hi All,
>>> >
>>> >               I am using Spring and Hibernate with Axis2. I have the
>>> > problem with
>>> >               loading
>>> >               the applicationContext.xml. Does anyone has similar
>>> > problems?
>>> >               Attached are service.xml, applicationContext.xml and
>>> > error meesage.
>>> >
>>> >               Thanks a lot.
>>> >
>>> >               service.xml
>>> >
>>> >               <?xml version="1.0" encoding="UTF-8"?>
>>> >               <!-- This file was auto-generated from WSDL -->
>>> >               <!-- by the Apache Axis2 version: 1.3  Built on : Aug
>>> > 10, 2007 (04:45:47
>>> >               LKT) -->
>>> >               <serviceGroup>
>>> >                       <service name="SpringInit"
>>> > class="com.cvg.ap.util.SpringInit">
>>> >                               <description>This web service
>>> > initializes
>>> >               Spring.</description>
>>> >                               <parameter name="ServiceClass">
>>> >                                       sample.spring.service.SpringInit
>>> >                               </parameter>
>>> >                               <parameter
>>> > name="ServiceTCCL">composite</parameter>
>>> >                               <parameter
>>> > name="load-on-startup">true</parameter>
>>> >                               <operation name="springInit">
>>> >                                       <messageReceiver
>>> >
>>> >
>>> > class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver" />
>>> >                               </operation>
>>> >                       </service>
>>> >
>>> >                       <service name="AdminRetrieveUserService">
>>> >                               <messageReceivers>
>>> >                                       <messageReceiver
>>> >               mep="http://www.w3.org/ns/wsdl/in-out"
>>> > <http://www.w3.org/ns/wsdl/in-out>
>>> >
>>> >
>>> >
>>> class="com.cvg.ap.ws.service.publicservices.adminretrieveuserservice.Adm
>>> > inRetrieveUserServiceMessageReceiverInOut"
>>> >               />
>>> >                               </messageReceivers>
>>> >                               <parameter name="ServiceClass">
>>> >
>>> >
>>> > com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServiceImpl
>>> >                               </parameter>
>>> >                               <parameter name="ServiceObjectSupplier">
>>> >
>>> >
>>> >
>>> org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObject
>>> > Supplier
>>> >                               </parameter>
>>> >                               <parameter name="SpringBeanName">
>>> >                                       springAdminRetrieveUserService
>>> >                               </parameter>
>>> >                               <parameter
>>> > name="useOriginalwsdl">true</parameter>
>>> >                               <parameter
>>> >               name="modifyUserWSDLPortAddress">true</parameter>
>>> >                               <operation name="retrieveUserProfile"
>>> >
>>> > mep="http://www.w3.org/ns/wsdl/in-out"
>>> > <http://www.w3.org/ns/wsdl/in-out> >
>>> >
>>> >               <actionMapping>urn:retrieveUserProfile</actionMapping>
>>> >                                       <outputActionMapping>
>>> >
>>> >
>>> >
>>> http://AdminRetrieveUserService.publicservices.service.ws.ap.cvg.com/Adm
>>> > inRetrieveUserServicePortType/retrieveUserProfileResponse
>>> >                                       </outputActionMapping>
>>> >                               </operation>
>>> >                       </service>
>>> >               </serviceGroup>
>>> >
>>> >
>>> >               ApplicationContext.xml
>>> >
>>> >               <?xml version="1.0" encoding="UTF-8"?>
>>> >               <beans
>>> > xmlns="http://www.springframework.org/schema/beans"
>>> > <http://www.springframework.org/schema/beans>
>>> >
>>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> > <http://www.w3.org/2001/XMLSchema-instance>
>>> >
>>> > xsi:schemaLocation="http://www.springframework.org/schema/beans
>>> >
>>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>>> > g/schema/beans/spring-beans-2.0.xsd>
>>> >
>>> > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
>>> >
>>> <http://www.springframework.org/schema/beanshttp:/www.springframework.or
>>> > g/schema/beans/spring-beans-2.0.xsd> >
>>> >
>>> >                       <bean id="applicationContext"
>>> >
>>> >
>>> >
>>> class="org.apache.axis2.extensions.spring.receivers.ApplicationContextHo
>>> > lder"
>>> >               />
>>> >
>>> >                       <bean id="sessionFactory"
>>> >
>>> >
>>> > class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>>> >                               <property name="configLocation"
>>> >
>>> > value="classpath:hibernate.cfg.xml">
>>> >                               </property>
>>> >                               <property name="dataSource">
>>> >                                       <ref local="c3poDataSource" />
>>> >                               </property>
>>> >                       </bean>
>>> >                       <bean id="propertyConfigurer"
>>> >
>>> >
>>> >
>>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi
>>> > gurer">
>>> >                               <property name="location">
>>> >                                       <value>
>>> >
>>> >               file:$ <file:///\\$>
>>>
>>> >
>>> {ACCESSPOINT_WS_CFG_HOME}/accesspoint_ws/config/accesspoint_ws.propertie
>>> > s
>>> >                                       </value>
>>> >                               </property>
>>> >                       </bean>
>>> >                       <bean id="c3poDataSource"
>>> >
>>> > class="com.mchange.v2.c3p0.ComboPooledDataSource"
>>> >                               destroy-method="close">
>>> >                               <property name="driverClass">
>>> >
>>> > <value>oracle.jdbc.driver.OracleDriver</value>
>>> >                               </property>
>>> >                               <property name="jdbcUrl">
>>> >                                       <value>
>>> >
>>> >
>>> > jdbc:oracle:thin:@${jdbc.host}:${jdbc.port}:${jdbc.database}
>>> >                                       </value>
>>> >                               </property>
>>> >
>>> >                               <property name="properties">
>>> >                                       <props>
>>> >                                               <prop
>>> > key="user">${jdbc.username}</prop>
>>> >                                               <prop key="password">
>>> >
>>> > ${ACCESSPOINT_DB_PWD_DECRYPTED}
>>> >                                               </prop>
>>> >                                               <prop
>>> > key="c3p0.min_size">
>>> >
>>> > ${jdbc.connectionPool.minSize}
>>> >                                               </prop>
>>> >                                               <prop
>>> > key="c3p0.max_size">
>>> >
>>> > ${jdbc.connectionPool.maxSize}
>>> >                                               </prop>
>>> >                                               <prop
>>> > key="c3p0.acquire_increment">
>>> >
>>> > ${jdbc.connectionPool.increment}
>>> >                                               </prop>
>>> >                                               <prop
>>> >               key="c3p0.idle_test_period">100</prop>
>>> >                                       </props>
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >                       <bean id="GroupsDAO"
>>> > class="com.cvg.ap.dao.GroupsDAO">
>>> >                               <property name="sessionFactory">
>>> >                                       <ref bean="sessionFactory" />
>>> >                               </property>
>>> >                       </bean>
>>> >                       <bean id="UsersDAO"
>>> > class="com.cvg.ap.dao.UsersDAO">
>>> >                               <property name="hibernateTemplate">
>>> >                                       <ref bean="hibernateTemplate" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >                       <bean id="MetadataDAO"
>>> > class="com.cvg.ap.dao.MetadataDAO">
>>> >                               <property name="sessionFactory">
>>> >                                       <ref bean="sessionFactory" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >                       <bean id="hibernateTemplate"
>>> >
>>> >
>>> > class="org.springframework.orm.hibernate3.HibernateTemplate">
>>> >                               <property name="sessionFactory">
>>> >                                       <ref bean="sessionFactory" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >                       <bean id="transactionManager"
>>> >
>>> >
>>> >
>>> class="org.springframework.orm.hibernate3.HibernateTransactionManager">
>>> >                               <property name="sessionFactory">
>>> >                                       <ref local="sessionFactory" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="hibernateInterceptor"
>>> >
>>> >
>>> > class="org.springframework.orm.hibernate3.HibernateInterceptor">
>>> >                               <property name="sessionFactory">
>>> >                                       <ref bean="sessionFactory" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="usersEntityInterceptor"
>>> >
>>> >
>>> >
>>> class="org.springframework.transaction.interceptor.TransactionIntercepto
>>> > r">
>>> >                               <property name="transactionManager">
>>> >                                       <ref local="transactionManager"
>>> > />
>>> >                               </property>
>>> >                               <property name="transactionAttributes">
>>> >                                       <props>
>>> >                                               <prop
>>> >               key="get*">PROPAGATION_REQUIRED,readOnly</prop>
>>> >                                               <prop
>>> >               key="save*">PROPAGATION_REQUIRED</prop>
>>> >                                               <prop
>>> >               key="update*">PROPAGATION_REQUIRED</prop>
>>> >                                               <prop
>>> >               key="delete*">PROPAGATION_REQUIRED</prop>
>>> >                                               <prop
>>> >               key="updateUserForSuccessfulAuthentication*">
>>> >
>>> > PROPAGATION_REQUIRED
>>> >                                               </prop>
>>> >                                               <prop
>>> >               key="updateUserForFailedAuthentication*">
>>> >
>>> > PROPAGATION_REQUIRED
>>> >                                               </prop>
>>> >                                       </props>
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="usersEntityProxyTargetBean"
>>> >                               class="com.cvg.ap.dbms.UsersEntity">
>>> >                               <property name="apUsersDAO">
>>> >                                       <ref local="UsersDAO" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="usersEntityProxyBean"
>>> >
>>> >
>>> > class="org.springframework.aop.framework.ProxyFactoryBean">
>>> >                               <property name="proxyTargetClass">
>>> >                                       <value>true</value>
>>> >                               </property>
>>> >                               <property name="interceptorNames">
>>> >                                       <list>
>>> >
>>> > <value>hibernateInterceptor</value>
>>> >
>>> > <value>usersEntityInterceptor</value>
>>> >                                       </list>
>>> >                               </property>
>>> >                               <property name="target">
>>> >                                       <ref
>>> > local="usersEntityProxyTargetBean" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="metadataEntity"
>>> > class="com.cvg.ap.dbms.MetadataEntity">
>>> >                               <property name="metadataDAO">
>>> >                                       <ref local="MetadataDAO" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="acmServicesEntity"
>>> >
>>> > class="com.cvg.ap.dbms.ACMServicesEntity">
>>> >                               <property name="acmServicesDAO">
>>> >                                       <ref local="AcmServiceDAO" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="apSecurity"
>>> >
>>> > class="com.cvg.ap.service.privateservices.APSecurity">
>>> >                               <property name="usersEntity">
>>> >                                       <ref
>>> > local="usersEntityProxyBean" />
>>> >                               </property>
>>> >                               <property name="metadataEntity">
>>> >                                       <ref local="metadataEntity" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="groupsEntity"
>>> > class="com.cvg.ap.dbms.GroupsEntity">
>>> >                               <property name="groupsDAO">
>>> >                                       <ref local="GroupsDAO" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="apUserManagement"
>>> >
>>> >
>>> > class="com.cvg.ap.service.privateservices.APUserManagement">
>>> >                               <property name="usersEntity">
>>> >                                       <ref
>>> > local="usersEntityProxyBean" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >                       <bean id="adminRetrieveUserService"
>>> >
>>> >
>>> >
>>> class="com.cvg.ap.service.publicservices.impl.AdminRetrieveUserServiceIm
>>> > pl">
>>> >                               <property name="apSecurity">
>>> >                                       <ref local="apSecurity" />
>>> >                               </property>
>>> >                               <property name="apUserManagement">
>>> >                                       <ref local="apUserManagement" />
>>> >                               </property>
>>> >                       </bean>
>>> >
>>> >
>>> >
>>> >                       <!-- Axis2 Web Service, but to Spring, its just
>>> > another bean that
>>> >               has
>>> >               dependencies -->
>>> >                       <bean id="springAdminRetrieveUserService"
>>> >
>>> >
>>> >
>>> class="com.cvg.ap.ws.service.publicservices.impl.AdminRetrieveUserServic
>>>
>>> > eImpl">
>>> >                               <property
>>> > name="adminRetrieveUserService"
>>> >                                       ref="adminRetrieveUserService"
>>> > />
>>> >                       </bean>
>>> >               </beans>
>>> >
>>> >
>>> >               Errors:
>>> >
>>> >               org.apache.axis2.deployment.DeploymentException: Error
>>> > creating bean with
>>> >               name 'apSecurity' defined in class path resource
>>> >               [applicationContext.xml]:
>>> >               Cannot resolve reference to bean 'usersEntityProxyBean'
>>> > while setting
>>> >               bean
>>> >               property 'usersEntity'; nested exception is
>>> >               org.springframework.beans.factory.BeanCreationException:
>>> > Error creating
>>> >               bean
>>> >               with name 'usersEntityProxyBean': FactoryBean threw
>>> > exception on object
>>> >               creation; nested exception is
>>> > java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>>> > viceGroupBuilder.java:106)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGr
>>> > oup(ArchiveReader.java:103)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.repository.util.ArchiveReader.processService
>>> > Group(ArchiveReader.java:172)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:
>>> > 78)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(De
>>> > ploymentFileData.java:137)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.j
>>> > ava:571)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList
>>> > .java:141)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener
>>> > .java:318)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryL
>>> > istener.java:220)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngi
>>> > ne.java:118)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBas
>>> > edAxisConfigurator.java:272)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.context.ConfigurationContextFactory.createConfiguration
>>> > Context(ConfigurationContextFactory.java:78)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServle
>>> > t.java:500)
>>> >                       at
>>> >
>>> > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:420)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.jav
>>> > a:1139)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:966)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.j
>>> > ava:3956)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.StandardContext.start(StandardContext.java:4230
>>> > )
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.ja
>>> > va:760)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
>>> >                       at
>>> >
>>> > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:825)
>>> >                       at
>>> >
>>> > org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:714)
>>> >                       at
>>> >
>>> > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)
>>> >                       at
>>> >
>>> > org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:31
>>> > 1)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSu
>>> > pport.java:120)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>>> >                       at
>>> >
>>> >
>>> org.apache.catalina.core.StandardService.start(StandardService.java:448)
>>> >                       at
>>> >
>>> > org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
>>> >                       at
>>> > org.apache.catalina.startup.Catalina.start(Catalina.java:552)
>>> >                       at
>>> > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> >                       at
>>> >
>>> >
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
>>> > a:39)
>>> >                       at
>>> >
>>> >
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
>>> > Impl.java:25)
>>> >                       at
>>> > java.lang.reflect.Method.invoke(Method.java:585)
>>> >                       at
>>> >
>>> > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
>>> >                       at
>>> > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
>>> >               Caused by:
>>> > org.apache.axis2.deployment.DeploymentException: Error
>>> >               creating
>>> >               bean with name 'apSecurity' defined in class path
>>> > resource
>>> >               [applicationContext.xml]: Cannot resolve reference to
>>> > bean
>>> >               'usersEntityProxyBean' while setting bean property
>>> > 'usersEntity'; nested
>>> >               exception is
>>> > org.springframework.beans.factory.BeanCreationException:
>>> >               Error
>>> >               creating bean with name 'usersEntityProxyBean':
>>> > FactoryBean threw
>>> >               exception
>>> >               on object creation; nested exception is
>>> > java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>>> > r.java:389)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceGroupBuilder.populateServiceGroup(Ser
>>> > viceGroupBuilder.java:101)
>>> >                       ... 39 more
>>> >               Caused by:
>>> > org.apache.axis2.deployment.DeploymentException: Error
>>> >               creating
>>> >               bean with name 'apSecurity' defined in class path
>>> > resource
>>> >               [applicationContext.xml]: Cannot resolve reference to
>>> > bean
>>> >               'usersEntityProxyBean' while setting bean property
>>> > 'usersEntity'; nested
>>> >               exception is
>>> > org.springframework.beans.factory.BeanCreationException:
>>> >               Error
>>> >               creating bean with name 'usersEntityProxyBean':
>>> > FactoryBean threw
>>> >               exception
>>> >               on object creation; nested exception is
>>> > java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>>> > viceBuilder.java:473)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilde
>>> > r.java:184)
>>> >                       ... 40 more
>>> >               Caused by:
>>> > org.springframework.beans.factory.BeanCreationException: Error
>>> >               creating bean with name 'apSecurity' defined in class
>>> > path resource
>>> >               [applicationContext.xml]: Cannot resolve reference to
>>> > bean
>>> >               'usersEntityProxyBean' while setting bean property
>>> > 'usersEntity'; nested
>>> >               exception is
>>> > org.springframework.beans.factory.BeanCreationException:
>>> >               Error
>>> >               creating bean with name 'usersEntityProxyBean':
>>> > FactoryBean threw
>>> >               exception
>>> >               on object creation; nested exception is
>>> > java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>> > solveReference(BeanDefinitionValueResolver.java:275)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>> > solveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>> > tory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1095)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>> > tory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
>>> > tory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
>>> > t(AbstractBeanFactory.java:249)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
>>> > etSingleton(DefaultSingletonBeanRegistry.java:155)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>> > stractBeanFactory.java:246)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>> > stractBeanFactory.java:160)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
>>> > InstantiateSingletons(DefaultListableBeanFactory.java:291)
>>> >                       at
>>> >
>>> >
>>> org.springframework.context.support.AbstractApplicationContext.refresh(A
>>> > bstractApplicationContext.java:352)
>>> >                       at
>>>
>>> > com.cvg.ap.util.SpringInit.startUp(SpringInit.java:60)
>>> >                       at
>>> >
>>> >
>>> org.apache.axis2.deployment.ServiceBuilder.loadServiceLifeCycleClass(Ser
>>> > viceBuilder.java:469)
>>> >                       ... 41 more
>>> >               Caused by:
>>> > org.springframework.beans.factory.BeanCreationException: Error
>>> >               creating bean with name 'usersEntityProxyBean':
>>> > FactoryBean threw
>>> >               exception
>>> >               on object creation; nested exception is
>>> > java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>> > romFactoryBean(AbstractBeanFactory.java:1252)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>> > orBeanInstance(AbstractBeanFactory.java:1217)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>> > stractBeanFactory.java:206)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
>>> > stractBeanFactory.java:160)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.BeanDefinitionValueResolver.re
>>> > solveReference(BeanDefinitionValueResolver.java:267)
>>> >                       ... 53 more
>>> >               Caused by: java.lang.NoClassDefFoundError
>>> >                       at
>>> >
>>> >
>>> org.springframework.aop.framework.Cglib2AopProxy.createEnhancer(Cglib2Ao
>>> > pProxy.java:223)
>>> >                       at
>>> >
>>> >
>>> org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy
>>> > .java:150)
>>> >                       at
>>> >
>>> >
>>> org.springframework.aop.framework.ProxyFactoryBean.getProxy(ProxyFactory
>>> > Bean.java:347)
>>> >                       at
>>> >
>>> >
>>> org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance(
>>> > ProxyFactoryBean.java:302)
>>> >                       at
>>> >
>>> >
>>> org.springframework.aop.framework.ProxyFactoryBean.getObject(ProxyFactor
>>> > yBean.java:228)
>>> >                       at
>>> >
>>> >
>>> org.springframework.beans.factory.support.AbstractBeanFactory.getObjectF
>>> > romFactoryBean(AbstractBeanFactory.java:1246)
>>> >                       ... 57 more
>>> >
>>> >               --
>>> >               View this message in context:
>>> >
>>> >
>>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2
>>> > -tf4898949.html#a14031519
>>> >               Sent from the Axis - User mailing list archive at
>>> > Nabble.com.
>>> >
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> >               To unsubscribe, e-mail:
>>> > axis-user-unsubscribe@ws.apache.org
>>> >               For additional commands, e-mail:
>>> > axis-user-help@ws.apache.org
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> >       To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> >       For additional commands, e-mail: axis-user-help@ws.apache.org
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> >
>>> > Anthony
>>> > -------------------------------------
>>> > Anthony Bull
>>> > Senior Developer
>>> > Black Coffee Software Ltd
>>> > PO Box 10-192 The Terrace
>>> > Wellington, New Zealand
>>> >
>>> > anthony.bull@bcsoft.co.nz
>>> > Ph  +64 4 472 8818
>>> > Fax +64 4 472 8811
>>> > -------------------------------------
>>> > www.bcsoft.co.nz
>>> > ---------------------------------------------------------------
>>> > This email may contain confidential or privileged information,
>>> > and is intended for use only by the addressee, or addressees.
>>> > If you are not the intended recipient please advise the sender
>>> > immediately and do not copy, use or disclose the contents to
>>> > any other person or organisation.
>>> > Black Coffee Software Ltd accepts no responsibility for viruses
>>> > received with this email, or to any changes made to the original
>>> > content. Any views or opinions expressed in this email may be
>>> > personal to the sender and are not necessarily those of Black
>>> > Coffee Software Ltd.
>>> > ---------------------------------------------------------------
>>> > ---------------------------------------------------------------------
>>> To
>>> > unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For
>>> additional
>>> > commands, e-mail: axis-user-help@ws.apache.org
>>> >
>>> >
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14070476
>>>
>>> Sent from the Axis - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-user-help@ws.apache.org
>>>
>>>
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-user-help@ws.apache.org
>> 
>> 
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Problem-with-Using-Spring-and-Hibernate-with-Axis2-tf4898949.html#a14100545
Sent from the Axis - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org