AXIS中自定义对象的序列化与反序列化

时间:2022-10-13 15:57:19

  在上一篇AXIS文章中,介绍了如何利用AXIS的Java2WSDL工具类来生成WSDL文件,今天在写调用客户端时忘了上次使用了自定义对象,所以没有对自定义对象进行序列化,这下就出错咯:

 

解决办法:

1.在服务器端,注册自定义对象的序列化/反序列化器。

在server-config.wsdd的<service>中加入以下代码:

其中:

languageSpecificType为自定义对象的完整路径; 

qname自定自定义对象的名称;

 

2.在客户端注册自定义对象的序列化/反序列化器调用。

原客户端调用代码:

 

注册自定义对象序列化/反序列化器:

 

自定义对象代码,需要实现Serializable接口:

  

OK,这样就可以正常调用了。从上可以看到,如果自定义对象是JavaBean,可以使用AXIS提供的BeanSerializerFactory和BeandeserializerFactory来对其进行序列化。