序列化与反序列化
WS中的序列化与反序列化是指java对象与xml之间的相互转换,意即如果传输的数据是java对象,例如基本数据类型的包装类,自定义的义务类、集合等,客户端服务端需要显示注册序列化器和反序列化器。而利用axis开发的WS应用,是以“映射”的方式来体现这一点的,所以像axis这样的引擎也被称为OXM--Object XML Mapping。
服务端,如果程序运行时报错“faultString: java.io.IOException: No serializer found for class cn.itcast.myaxis.service.pojo.Customer in registry org.apache.axis.encoding.TypeMappingDelegate@b9b618”,则很可能是服务端没有声明java对象与xml的映射,例如<beanMapping qname="ns:Customer" xmlns:ns="urn:customer:pojo:service:itcast:cn" languageSpecificType="java:cn.itcast.myaxis.service.pojo.Customer" />,有几个对象就需要有几个映射声明,作为<service>的子元素。
beanMapping是axis引擎自带的序列化器,typeMapping则允许用户自定义序列化器,但是beanMapping可以认为是typeMapping的快捷方式,因为typeMapping默认的就是beanMapp