You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Chetan Saundankar (JIRA)" <ji...@apache.org> on 2010/09/13 22:54:33 UTC
[jira] Updated: (AXIS2-4818) Inheritance on method parameters not
working
[ https://issues.apache.org/jira/browse/AXIS2-4818?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chetan Saundankar updated AXIS2-4818:
-------------------------------------
Description:
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.
was:
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?
> Inheritance on method parameters not working
> --------------------------------------------
>
> Key: AXIS2-4818
> URL: https://issues.apache.org/jira/browse/AXIS2-4818
> Project: Axis2
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: Ubuntu Jaunty 9.04, JDK 1.6u21, Tomcat 6.0
> Reporter: Chetan Saundankar
> Priority: Blocker
>
> 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.
--
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org