You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by sachinverma <sa...@oodlestechnologies.com> on 2014/06/02 14:22:15 UTC

CXF 2.7.11 xfire compatibility.

I am upgrading my XFire web service logic to CXF 2.7.11 using simple frontend
due to annotation-less structure of course.

But CXF and XFire autogenerated namespaces (targetNamespace in wsdl) for web
services are different as CXF add an extra '/' forward slash. As mentioned 
here <http://cxf.apache.org/docs/aegis-databinding-20x.html>   , I updated
my XML to :


<bean id="aegisCompatibilityFactoryBean"
class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
		<property name="serviceConfigurations">
			<list>
				<bean class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration" />
				<bean
				
class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration"
/>
				<bean class="org.apache.cxf.service.factory.DefaultServiceConfiguration"
/>
			</list>
		</property>
	</bean>
	<simple:server id="scheduleService"
		serviceClass="com.my.world.ScheduleWebService"
		address="/ScheduleWebService">
		<simple:serviceBean>
			<bean
				class="com.my.world.impl.ScheduleWebServiceImpl">
			</bean>
		</simple:serviceBean>
		<simple:serviceFactory>
			<ref bean="aegisCompatibilityFactoryBean" />
		</simple:serviceFactory>
		 <simple:dataBinding> <bean
class="org.apache.cxf.aegis.databinding.AegisDatabinding" 
			/> </simple:dataBinding>



But still I am getting '/' in my namespace. Do CXF 2.7.11 still supports
XFire namespace?

Please help.



--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-2-7-11-xfire-compatibility-tp5744595.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: CXF 2.7.11 xfire compatibility.

Posted by sachinverma <sa...@oodlestechnologies.com>.
Thanks for taking interest Sir.

I tried 
<bean depends-on="scheduleService"
class="com.resolution.scheduler.service.webservice.impl.WebServicesOptimiser">
		<property name="serviceBean" ref="scheduleService"></property>
	</bean>

And in method:
public void setServiceBean(Object serviceBean) {
ServerFactoryBeanDefinitionParser.SpringServerFactoryBean
sf=(ServerFactoryBeanDefinitionParser.SpringServerFactoryBean)serviceBean;
	List config=sf.getServiceFactory().getConfigurations();
config.add(0,new XFireCompatibilityServiceConfiguration());
}

It still add the addition forward slash.



--
View this message in context: http://cxf.547215.n5.nabble.com/CXF-2-7-11-xfire-compatibility-tp5744595p5744606.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: CXF 2.7.11 xfire compatibility.

Posted by Sachin Verma <sa...@oodlestechnologies.com>.
Tried already no luck.
On 2 Jun 2014 19:28, "Daniel Kulp" <dk...@apache.org> wrote:

>
> I think you have to move the XFireCompatibilityServiceConfiguration bean
> to before the JaxWsServiceConfiguration.  It’s a “first one to return a
> value wins” thing so you need to make sure the XFire version gets a chance
> to return the old xfire namespace before the JAX-WS algorithms kick in.
>
> Dan
>
>
> On Jun 2, 2014, at 8:22 AM, sachinverma <
> sachin.verma@oodlestechnologies.com> wrote:
>
> > I am upgrading my XFire web service logic to CXF 2.7.11 using simple
> frontend
> > due to annotation-less structure of course.
> >
> > But CXF and XFire autogenerated namespaces (targetNamespace in wsdl) for
> web
> > services are different as CXF add an extra '/' forward slash. As
> mentioned
> > here <http://cxf.apache.org/docs/aegis-databinding-20x.html>   , I
> updated
> > my XML to :
> >
> >
> > <bean id="aegisCompatibilityFactoryBean"
> > class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> >               <property name="serviceConfigurations">
> >                       <list>
> >                               <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration" />
> >                               <bean
> >
> >
> class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration"
> > />
> >                               <bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"
> > />
> >                       </list>
> >               </property>
> >       </bean>
> >       <simple:server id="scheduleService"
> >               serviceClass="com.my.world.ScheduleWebService"
> >               address="/ScheduleWebService">
> >               <simple:serviceBean>
> >                       <bean
> >
> class="com.my.world.impl.ScheduleWebServiceImpl">
> >                       </bean>
> >               </simple:serviceBean>
> >               <simple:serviceFactory>
> >                       <ref bean="aegisCompatibilityFactoryBean" />
> >               </simple:serviceFactory>
> >                <simple:dataBinding> <bean
> > class="org.apache.cxf.aegis.databinding.AegisDatabinding"
> >                       /> </simple:dataBinding>
> >
> >
> >
> > But still I am getting '/' in my namespace. Do CXF 2.7.11 still supports
> > XFire namespace?
> >
> > Please help.
> >
> >
> >
> > --
> > View this message in context:
> http://cxf.547215.n5.nabble.com/CXF-2-7-11-xfire-compatibility-tp5744595.html
> > Sent from the cxf-user mailing list archive at Nabble.com.
>
> --
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
>

Re: CXF 2.7.11 xfire compatibility.

Posted by Daniel Kulp <dk...@apache.org>.
I think you have to move the XFireCompatibilityServiceConfiguration bean to before the JaxWsServiceConfiguration.  It’s a “first one to return a value wins” thing so you need to make sure the XFire version gets a chance to return the old xfire namespace before the JAX-WS algorithms kick in.

Dan


On Jun 2, 2014, at 8:22 AM, sachinverma <sa...@oodlestechnologies.com> wrote:

> I am upgrading my XFire web service logic to CXF 2.7.11 using simple frontend
> due to annotation-less structure of course.
> 
> But CXF and XFire autogenerated namespaces (targetNamespace in wsdl) for web
> services are different as CXF add an extra '/' forward slash. As mentioned 
> here <http://cxf.apache.org/docs/aegis-databinding-20x.html>   , I updated
> my XML to :
> 
> 
> <bean id="aegisCompatibilityFactoryBean"
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
> 		<property name="serviceConfigurations">
> 			<list>
> 				<bean class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration" />
> 				<bean
> 				
> class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfiguration"
> />
> 				<bean class="org.apache.cxf.service.factory.DefaultServiceConfiguration"
> />
> 			</list>
> 		</property>
> 	</bean>
> 	<simple:server id="scheduleService"
> 		serviceClass="com.my.world.ScheduleWebService"
> 		address="/ScheduleWebService">
> 		<simple:serviceBean>
> 			<bean
> 				class="com.my.world.impl.ScheduleWebServiceImpl">
> 			</bean>
> 		</simple:serviceBean>
> 		<simple:serviceFactory>
> 			<ref bean="aegisCompatibilityFactoryBean" />
> 		</simple:serviceFactory>
> 		 <simple:dataBinding> <bean
> class="org.apache.cxf.aegis.databinding.AegisDatabinding" 
> 			/> </simple:dataBinding>
> 
> 
> 
> But still I am getting '/' in my namespace. Do CXF 2.7.11 still supports
> XFire namespace?
> 
> Please help.
> 
> 
> 
> --
> View this message in context: http://cxf.547215.n5.nabble.com/CXF-2-7-11-xfire-compatibility-tp5744595.html
> Sent from the cxf-user mailing list archive at Nabble.com.

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com