AXIS 1.X 传输 自定义对象的注意事项

<原创> AXIS 1.X 传输 自定义对象的注意事项
1、修改service-config.xml
  <service name="SceneWebService" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.telecom.WS.SceneWS"/>
    <beanMapping languageSpecificType="java:com.telecom.bean.RuleBean" qname="ns:RuleBean" xmlns:ns="urn:BeanService"/>
 </service>

注意:beanMapping的定义。languageSpecificType中定义使用那个类, qname定义类的名称。

2、客户端需要反序列化
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
QName qn = new QName("urn:BeanService","RuleBean");
call.registerTypeMapping(RuleBean.class, qn,    new BeanSerializerFactory(RuleBean.class, qn),    new BeanDeserializerFactory(RuleBean.class, qn));

3、RuleBean需要序列化
import java.io.Serializable;
public class RuleBean implements Serializable { 
public RuleBean(){           //需要默认构造函数
}
<some get/set methods>

}

你可能感兴趣的:(AXIS 1.X 传输 自定义对象的注意事项)