public class Book implements Serializable{
  ...
}

解决方案 »

  1.   

    自定义类型需要声明序列化器。所谓序列化就是告诉Axis怎样将你的对象用xml传输,反之亦然。
    你这个是标准的Value Object 
    使用Axis内置的序列化器即可
    BeanSerializerFactory
    BeanDeserializerFactory
    客户端和服务端都要声明。
    参考Axis示例中的
    faults/EmployementClient.java
    faults/deploy.wsdd
      

  2.   

    被传递的对象需要实现java.io.Serializable接口
      

  3.   

    在你的server-config.xml中要加入
    <typeMapping/>,把你的Book注册进去,类似这样的:<typeMapping
                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                qname="ns2:SubjectBaseInfo"
                languageSpecificType="java:com.bookstore.model.Book"
                serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
                deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
                name="SubjectBaseInfo" regenerateElement="true" xmlns:ns2="http://bookstore.com"/>