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.XFireCompatibilityServiceConfiguration"/>
                       <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

Reply via email to