【发布时间】:2010-09-13 19:29:46
【问题描述】:
我有一个包含以下方法和类的测试网络服务,
方法
public String addPerson(Person p) {
if(p instanceof Employee) {
return "Employee";
}
return "Person";
}
注意:方法使用@WebMethod、@WebParam 注释进行注释,Web 服务也使用@WebService 进行注释。
类
Class Person {
public String name;
}
Class Employee extends Person{
public int employeeNo;
}
观察
- 尽管客户端发送了序列化的 Employee 对象,但 Web 服务始终将其作为 Person 对象。我已经用萤火虫工具检查了客户端上的肥皂包,有效载荷中存在员工编号。我还检查了服务器上的soap MESSAGE & 他们我没有看到员工编号属性。
问题
- 这是预期的行为吗?我希望不是。
- 有没有什么方法可以在不编写自定义 SOAP 解码器的情况下完成这项工作?
【问题讨论】:
标签: java web-services jax-ws axis2