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