Inheritance on method parameters not working
--------------------------------------------
Key: AXIS2-4817
URL: https://issues.apache.org/jira/browse/AXIS2-4817
Project: Axis2
Issue Type: Bug
Affects Versions: 1.5.1
Environment: Ubuntu Jaunty 9.04, JDK 1.6u21, Tomcat 6.0
Reporter: Chetan Saundankar
I have a test web service with following methods & classes,
Method
------------
public String addPerson(Person p) {
if(p instanceof Employee) {
return "Employee";
}
return "Person";
}
Note: Method is annotated with @WebMethod, @WebParam annotations, so is web
service with @WebService.
Classes
-------------
Class Person {
private String name;
// getters and setters
}
Class Employee extends Person{
private int employeeNo;
// getters and setters
}
Observations
-------------------
In spite of client sending the serialized Employee object the web service is
always taking it as a Person object. I have checked the soap packet on client
with firebug tool, employee number is present in the payload. I also check soap
MESSAGE on server & their I dont see employee number attribute.
Question
--------------
Is this an expected behavior? I hope it is not.
Is there any way I can make this work without having write custom SOAP decoders?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]