You kind of have a weird mix of using the Simple frontend 
(ClientProxyFactoryBean) and JAX-WS frontend (JaxWsServiceFactoryBean and 
JaxWsServiceConfiguration).    Not sure every issue that might cause.   

Are you willing to update to using purely the JAX-WS frontend and annotating 
the interface with the required annotations?  That may be the easiest.   
Sticking a @WebService annotation with the correct targetNamespace as well 
as @WebResult annotation with the proper name and namespace attributes would 
likely fix this. 

If not, then you likely should stick entirely with the Simple frontend and 
create the ClientProxyFactoryBean with a ReflectionServiceFactoryBean with 
just the XFireCompatibilityServiceConfiguration and 
DefaultServiceConfiguration things in there.    That MAY do it.  Not 100% 
sure though.

Dan


On Sunday, May 20, 2012 02:23:06 AM inthendsun wrote:
> Hi,
> I have a ws server that wrote by XFire1.2.6,  use the default databinding
> aegis. 
 and the thirdparty user wrote ws client wrote by CXF2.4.
> 
> Now the communication between the CXF client and XFire server encountered
> something wrong:
 the CXF client cannot deserialize  the soap response:
> 
> The interface is:
> public interface CusAssetService {
>       public String cusAssetString();
> }
> 
> --------------the xfire response -----------------
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <soap:Body>
>       <ns1:cusAssetStringResponse xmlns:ns1="http://service.cus.ws";>
>          <ns1:out>5</ns1:out>
>       </ns1:cusAssetStringResponse>
>    </soap:Body>
> </soap:Envelope>
> ---------------------------------------------------
> 
> And I test with cxf server also with the aegis databinding, but the cxf
> client deserialize response success.
 
> --------------the cxf response -----------------
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>    <soap:Body>
>       <ns1:cusAssetStringResponse xmlns:ns1="http://service.cus.ws/";>
>          <return>5</return>
>       </ns1:cusAssetStringResponse>
>    </soap:Body>
> </soap:Envelope>
> ---------------------------------------------------
> 
> ------------------CXF client config---------------------------------
> <bean id="client" class="ws.cus.service.CusAssetService" 
> factory-bean="clientFactory" factory-method="create"/>
 
> <bean id="clientFactory"
> class="org.apache.cxf.frontend.ClientProxyFactoryBean">
 <property
> name="serviceClass" value="ws.cus.service.CusAssetService"/> <property
> name="address" value="http://localhost:8080/xfire_server/cusAsset.ws"/>
> <property name="serviceFactory" ref="jaxWsServiceFactoryBean"></property>
> </bean>
> <bean id="jaxWsServiceFactoryBean"
> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"
> scope="prototype">
 <property name="dataBinding" ref="aegisBinding" />
>     <property name="serviceConfigurations">
>                    <list>
>                        <bean
> class="org.apache.cxf.jaxws.support.JaxWsServiceConfiguration"/>
 <bean
> class="org.apache.cxf.aegis.databinding.XFireCompatibilityServiceConfigur
> ation"/> <bean
> class="org.apache.cxf.service.factory.DefaultServiceConfiguration"/>
> </list>
>                 </property>
>     </bean>
>  <bean id="aegisBinding"
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"
> scope="prototype"></bean>
> ------------------------------------------------------------------------ 
> 
> Anyone know what happens? why it can't work. 
> p.s. now the xfire can get the parameter successful
> 
> thanks a lot
> 
> 
> 
> 
> 
> 
> (forgive me for my poor english. )
> inthendsun
-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to