我有一个测试网络服务,其中包含以下方法&类,
public String addPerson(Person p) {
if(p instanceof Employee) {
return "Employee";
}
return "Person";
}
注意:方法使用@WebMethod,@ WebParam注释进行注释,使用@WebService的Web服务也是如此。
Class Person {
public String name;
}
Class Employee extends Person{
public int employeeNo;
}
答案 0 :(得分:0)
我认为这应该是这样的。因为在发送数据时,继承信息会丢失,并且只会将数据解码回您在Web对象中声明的类型为Person对象。
答案 1 :(得分:0)
深挖后,我们发现问题出在客户端 生成的SOAP数据包在这种情况下不起作用。客户应该是 将派生对象(Employee)类型的名称放在相应的元素中 对于操作,但我们正在使用的客户端不是这样做的 “javax.xml.bind.UnmarshalException:无法创建...的实例” 报道。