[英]Inheritance on method parameters not working
我有一个包含以下方法和类的测试Web服务,
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;
}
我认为这应该是这样。 因为在发送数据时,继承信息将丢失,并且继承信息只会将数据解码回在您的情况下Web服务方法中声明的类型给Person对象。
深入研究之后,我们发现问题出在客户端,该客户端生成了在这种情况下不起作用的SOAP数据包。 客户端应该在与操作相对应的元素中放入派生对象(雇员)类型的名称,但是我们正在使用的客户端没有这样做,因为其中“ javax.xml.bind.UnmarshalException:无法创建...的实例”的报告。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.