Daniel,

I tried this and am indeed able to use interfaces as parameters. 

However, I did encounter one problem: "The marshalling is being done based
on the concrete class of passed object and not based on the interface
itself"

So, consider this example:
- Lets say that UserImpl has a few additional properties like userId and
userSalary (with getters/setters) which are not present in the User
Interface.
- When a client passes an instance of UserImpl to the service (as the User
interface) only name ought to be marshaled and not userId or userSalary.

The intent of wrapping UserImpl around an interface would be to encapsulate
some of the properties in UserImpl which are not pertinent to User
interface. Marshalling those "extra" properties defeats that intent.

I did discover that one way to hide userId and userSalary was to mark the
setters of those two in UserImpl with the XmlTransient annotation but that
does not feel so optimal.

-ayush

-----Original Message-----
From: Daniel Kulp [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 28, 2008 12:09 PM
To: [email protected]
Cc: [EMAIL PROTECTED]
Subject: Maps and Interfaces as params/returns sample....


I just wanted to let everyone know that I've deployed a new CXF 2.1 
snapshot that has an updated java_first_jaxws sample that includes using 
an interface and a Map object as parameters/returns to methods on the 
interface.

Since those have been common "issues" lately, I'd greatly appreciate it 
if folks could give it a quick look and make any suggestions and 
comments on how to make it even more useful.

Download the latest from:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/apache-c
xf/2.1-incubator-SNAPSHOT/

-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to