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