More info...

While reading the code, it looks like the module references in the 
AxisOperation class are supposed to be QNames, not Strings. They get added in 
org.apache.axis2.deployment.DescriptionBuilder line 477:

operation.addModule(new QName(refName));

and so when org.apache.axis2.deployment.DeploymentEngine does this:

ArrayList modules = opDesc.getModuleRefs();
        for (int i = 0; i < modules.size(); i++) {
        String moduleName = (String) modules.get(i);

it causes the ClassCastException.

In version 1.1.1, the code in DeploymentEngine lines 421-425 are:

               AxisOperation opDesc = (AxisOperation) iterator.next();
                ArrayList modules = opDesc.getModuleRefs();

                for (int i = 0; i < modules.size(); i++) {
                    QName moduleName = (QName) modules.get(i);

which looks a lot more correct!

Michael Davis


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> Sent: Friday, May 11, 2007 11:26 AM
> To: [email protected]
> Subject: Problem moving service from axis2-1.1.1 to axis2-1.2
> 
> 
> Hi,
> 
> I'm new to Axis. I got a simple service running in version 
> 1.1.1. I'm using Spring and followed the guidelines at 
> http://ws.apache.org/axis2/1_2/spring.html
> for using it with a servlet context.
> 
> I've got the axis libraries and my classes all bundled in a 
> web app, rather than deploying axis on its own and uploading 
> aar files.
> 
> I tried changing the libraries in WEB-INF/lib to the version 
> 1.2 ones. I was careful to upgrade the supporting libraries 
> as well (e.g. XmlSchema.) Now when I try to run the 
> application, I get a class cast exception:
> 
> 2007-05-11 10:55:12,675 INFO  
> org.apache.axis2.deployment.ServiceDeployer - The sso.aar 
> service, which is not valid, caused java.lang.ClassCastException
>         at 
> org.apache.axis2.deployment.DeploymentEngine.fillServiceGroup(
> DeploymentEngine.java:498)
>         at 
> org.apache.axis2.deployment.DeploymentEngine.addServiceGroup(D
> eploymentEngine.java:437)
>         at 
> org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDepl
> oyer.java:83)
>         at 
> org.apache.axis2.deployment.DeploymentEngine.doDeploy(Deployme
> ntEngine.java:582)
> etc.
> 
> DeploymentEngine.java lines 493-499 are:
> 
>             for (Iterator iterator = 
> axisService.getOperations(); iterator.hasNext();) {
>                 AxisOperation opDesc = (AxisOperation) 
> iterator.next();
>                 ArrayList modules = opDesc.getModuleRefs();
> 
>                 for (int i = 0; i < modules.size(); i++) {
> error is here ->    String moduleName = (String) modules.get(i);
>                     AxisModule module = 
> axisConfig.getModule(moduleName);
> 
> Has anyone ever had a similar error?
> Any hints would be greatly appreciated!
> 
> My services.xml contains:
> 
>     <service name="Authenticate" scope="application">
>       <description>
>           Publiservice Single Sign On
>       </description>
>       <messageReceivers>
>           <messageReceiver 
>               mep="http://www.w3.org/2004/08/wsdl/in-only";
>               
> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/>
>           <messageReceiver
>               mep="http://www.w3.org/2004/08/wsdl/in-out";
>               
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>       </messageReceivers>
>       <parameter name="ServiceObjectSupplier" locked="false">
>           
> org.apache.axis2.extensions.spring.receivers.SpringServletCont
> extObjectSupplier
>       </parameter>
>       <parameter name="SpringBeanName" 
> locked="false">authenticateService</parameter>
>       <operation name="authenticate">
>           <messageReceiver 
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>       </operation>
>     </service>
> 
> My applicationContext.xml (for spring) contains:
> 
> <beans>
>     <!-- Configure spring to give a hook to axis2 without a 
> ServletContext
>     <bean id="applicationContext" 
>         
> class="org.apache.axis2.extensions.spring.receivers.Applicatio
> nContextHolder"/>
>      -->
>     <!-- Hibernate section -->
>     <bean id="dataSource" 
> class="org.springframework.jdbc.datasource.DriverManagerDataSource">
>       <property name="driverClassName" 
> value="oracle.jdbc.driver.OracleDriver"/>
>       <property name="url" 
> value="jdbc:oracle:thin:@parker:1521:d36bm"/>
>       <property name="username" value="pubsso_webuser"/>
>       <property name="password" value="blah"/>
>     </bean>
>     
>     <bean id="sessionFactory" 
> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
>       <property name="dataSource" ref="dataSource"/>
>       <property name="mappingResources">
>           <list>
>               
> <value>ca/gc/publiservice/sso/model/generated/Application.hbm.
> xml</value>
>               
> <value>ca/gc/publiservice/sso/model/generated/Permission.hbm.x
> ml</value>
>               
> <value>ca/gc/publiservice/sso/model/generated/Person.hbm.xml</value>
>               
> <value>ca/gc/publiservice/sso/model/generated/PersonRole.hbm.x
> ml</value>
>               
> <value>ca/gc/publiservice/sso/model/generated/Role.hbm.xml</value>
>           </list>
>       </property>
>       <property name="hibernateProperties">
>           <props>
>               <prop 
> key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
>               <prop 
> key="hibernate.current_session_context_class">thread</prop>
>           </props>
>       </property>
>     </bean>
>     
>     <bean id="dao" class="ca.gc.publiservice.sso.model.DAO">
>       <property name="sessionFactory" ref="sessionFactory"/>
>     </bean>
>     
>     <!-- Axis2 Web Service -->
>     <bean id="authenticateService" 
> class="ca.gc.publiservice.sso.ws.AuthenticateImpl">
>       <property name="dao" ref="dao"/>
>     </bean>    
> </beans>
> 
> Many thanks
> Michael Davis
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to