You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Matthias Richter <ma...@cybercon.de> on 2012/03/30 15:18:41 UTC
CXF and XMLBeans
Hi there,
I am migrating an old xfire service to CXF.
Now I am using CXF 2.5.2 and XMLBeans 2.5.0. I generated the beans via the cxf-codegen-plugin for Maven. As I want to use the old Service Implementation Class I created a simple server frontend:
<simple:server
address="/myService"
serviceClass="de.myservice.MyService"
serviceName="myns:myService"
endpointName="myns:myService"
xmlns:myns="http://my.namespace.de/">
<simple:serviceBean>
<ref bean="myServiceImpl" />
</simple:serviceBean>
<simple:dataBinding>
<bean class="org.apache.cxf.xmlbeans.XmlBeansDataBinding" />
</simple:dataBinding>
</simple:server>
Now if I call that service I get the response and compare that to my old xfire/xmlbeans implementation. I get an additional unnecessary element which wraps the actual response and does not conform to the schema given by the WSDL.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:getMyServiceVersionResponse xmlns:ns1="http://my.namespace.de/">
<getMyServiceVersionResponse xmlns="http://MyService.namespaceByWSDL.de/">
<out xmlns="">MyService 1.5-SNAPSHOT</out>
</getMyServiceVersionResponse>
</ns1:getMyServiceVersionResponse>
</soap:Body>
</soap:Envelope>
The element <ns1:getMyServiceVersionResponse xmlns:ns1="http://my.namespace.de/"> is the one that I want to get rid of.
Any ideas here? Thanks for the help!
Matthias
Re: CXF and XMLBeans
Posted by Daniel Kulp <dk...@apache.org>.
On Friday, March 30, 2012 03:18:41 PM Matthias Richter wrote:
> Hi there,
>
> I am migrating an old xfire service to CXF.
>
> Now I am using CXF 2.5.2 and XMLBeans 2.5.0. I generated the beans via the
> cxf-codegen-plugin for Maven. As I want to use the old Service
> Implementation Class I created a simple server frontend:
Most likely, you'll need to switch to the JAX-WS frontend to grab the extra
annotations that the codegen plugin would have stuck on the Service
interface. If the service impl implements the interface, it should be a
very simple update to change to the jaxws frontend.
Dan
>
> <simple:server
> address="/myService"
> serviceClass="de.myservice.MyService"
> serviceName="myns:myService"
> endpointName="myns:myService"
> xmlns:myns="http://my.namespace.de/">
>
> <simple:serviceBean>
> <ref bean="myServiceImpl" />
> </simple:serviceBean>
>
> <simple:dataBinding>
> <bean class="org.apache.cxf.xmlbeans.XmlBeansDataBinding" />
> </simple:dataBinding>
>
> </simple:server>
>
> Now if I call that service I get the response and compare that to my old
> xfire/xmlbeans implementation. I get an additional unnecessary element
> which wraps the actual response and does not conform to the schema given
> by the WSDL.
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <ns1:getMyServiceVersionResponse
> xmlns:ns1="http://my.namespace.de/"> <getMyServiceVersionResponse
> xmlns="http://MyService.namespaceByWSDL.de/"> <out xmlns="">MyService
> 1.5-SNAPSHOT</out>
> </getMyServiceVersionResponse>
> </ns1:getMyServiceVersionResponse>
> </soap:Body>
> </soap:Envelope>
>
> The element <ns1:getMyServiceVersionResponse
> xmlns:ns1="http://my.namespace.de/"> is the one that I want to get rid
> of.
>
> Any ideas here? Thanks for the help!
>
> Matthias
--
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com