Axis都有哪些认证方式,最近在使用Axis1.4开发webservice,服务成功发布,但是在给服务加认证的时候出现了问题,原来可以反序列化的实体类,加上认证之后居然报找不到反序列化的错误,比如会报下面的异常:
Caused by: org.xml.sax.SAXException: No deserializer for {http://entity.xpdl.flow.test.com}ToolEntity
关于这个实体ToolEntity,客户端的stub和服务器端的wsdd里都有序列化和反序列化的设置,怎么会找不到呢,真是奇怪,哪位遇到过此类问题给说说呗,谢!!

解决方案 »

  1.   

    配置问题,比较可能出错点client这边的配置,好好查看下.
      

  2.   

    为什么加上认证之后就不能反序列化这个实体了呢?我调试时发现,加上认证之后,soap消息里的xml属性都是通过DeserializerImpl这个类来进行反序列化的,如果不加认证的话,应该是由它的子类,一般是SimpleDeserializer来完成的,难道在哪里由这个设置吗?
      

  3.   

    这个问题倒是解决了,修改了一下axis的源码。如果服务器端返回的是父类(多态情况下,方法的返回值类型为父类),那么在反序列化的时候,无法反序列化为它的子类,会报出异常,即 Invalid element *** 等。