axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Volkmann, Mark" <Mark.Volkm...@AGEDWARDS.com>
Subject RE: interfaces as params?
Date Fri, 23 May 2003 19:21:44 GMT
The client certainly needs to have bytecode for the parameter and return
type classes available, but why can't the parameter and return types of the
service implementation (and the client-side proxy) be interface types?  I'm
pretty sure that Axis doesn't support this.

What I'd expect is that Java2WSDL would take a service implementation that
used interface types for parameter/return types and generate type
descriptions in the WSDL by looking for get methods (Java Bean pattern).  I
don't believe Axis currently does this.  Someone please correct me if I'm
wrong.

> -----Original Message-----
> From: David Green [mailto:david.green@maketechnologies.com]
> Sent: Friday, May 23, 2003 1:52 PM
> To: axis-user@ws.apache.org
> Subject: RE: interfaces as params?
> 
> 
> From my experience, the client-generated code will have classes for
> these complex types, not interfaces.
> 
> David
> 
> -----Original Message-----
> From: Shantanu Sen [mailto:sdsen@pacbell.net] 
> Sent: Friday, May 23, 2003 11:37 AM
> To: axis-user@ws.apache.org
> Subject: RE: interfaces as params?
> 
> 
> Custom (de)serializers can be specified in the WSDD at
> the time of deployment of the Service. This is a one
> time thing and fine for the server.
> 
> But this also means that any client has to supply
> these at the time of invoking the service right?
> 
> Shantanu Sen
> 
> --- David Green <david.green@maketechnologies.com>
> wrote:
> > I encountered this same problem.  I ended up writing
> > a custom
> > serializer/deserializer that subclassed from the
> > Bean
> > serializer/deserializers to do support my
> > interfaces.
> > 
> > David
> > 
> > -----Original Message-----
> > From: Shantanu Sen [mailto:sdsen@pacbell.net]
> > Sent: Wednesday, May 21, 2003 5:11 PM
> > To: axis-user@ws.apache.org
> > Subject: interfaces as params?
> > 
> > 
> > I have an interface as follows:
> > 
> > public interface MyOperation extends java.rmi.Remote
> > {
> > 
> > public MyComplex testOperation(java.util.Map map, 
> >                            MyDoc[] docs) throws
> >                      java.rmi.RemoteException;
> > }
> > 
> > where MyDoc is defined as:
> > 
> > public interface MyDoc {
> > 
> > public String getName();
> > public byte[] getBytes();
> > 
> > }
> > 
> > and MyComplex is a concrete class:
> > 
> > public class MyComplex implements Serializable
> > {
> >   Map header;
> >   MyDoc[] payload;
> > }
> > 
> > 
> > 
> > Can I  expose MyOperation as a service endpoint?
> > 
> > JAX-RPC states that there can be complex java
> > classes
> > as a parameter/return type. But what about
> > interfaces?
> > When I do a Java2WSDL, the MyDoc is written out as xsd:anyType. But 
> > the WSDL2Java will not know how to re-create the class from 
> > xsd:anyType right? Is there any way I can provide a mapping between 
> > the interface
> > and a concrete class? If so how can I do that?
> > 
> > Is there any way we can have interfaces as method
> > parameters with AXIS using RPC?
> > 
> > Thanks,
> > Shantanu Sen
> 


***********************************************************************************
WARNING:  All e-mail sent to and from this address will be received or
otherwise recorded by the A.G. Edwards corporate e-mail system and is
subject to archival, monitoring or review by, and/or disclosure to,
someone other than the recipient.
************************************************************************************

Mime
View raw message