users@jax-rpc.java.net

Re: interfaces as service parameters?

From: Simon Horrell <simonh_at_develop.com>
Date: Thu, 07 Mar 2002 19:06:06 +0000

True. But nevertheless, JavaBeans (as a particular kind of value type) are
supported in the 0.5 spec and in the current RI.
Si.

----- Original Message -----
From: "Arun Gupta" <arun.gupta_at_sun.com>
To: "Simon Horrell" <simonh_at_develop.com>
Cc: <JAXRPC-INTEREST_at_JAVA.SUN.COM>
Sent: Thursday, March 07, 2002 4:50 PM
Subject: Re: interfaces as service parameters?


> Hi Oliver/Simon,
>
> The current implementation on java.sun.com is compliant with 0.5 version
> of the spec. JAX-RPC valuetypes are introduced after 0.5 version of the
> spec. These will be supported in the next public release of Java Web
> Services Developer Pack and Java XML Pack.
>
> Regards,
> -Arun
>
> Simon Horrell wrote:
> >
> > From section 5.5 of the JAX-RPC spec.
> >
> > A JAX-RPC value type is a Java class whose value can be moved between a
> > service
> >
> > client and service endpoint. A Java class must follow these rules to be
a
> > JAX-RPC
> >
> > conformant value type:
> >
> > . Java class must have a public default constructor.
> >
> > . Java class must not implement (directly or indirectly) the
java.rmi.Remote
> >
> > interface.
> >
> > . Java class may implement any Java interface (except the
java.rmi.Remote
> > interface)
> >
> > or extend another Java class.
> >
> > . Java class may contain public, private, protected, package-level
fields.
> > The Java type
> >
> > of a public field must be a supported JAX-RPC type as specified in the
> > section 5.1,
> >
> > "JAX-RPC Supported Java Types".
> >
> > . Java class may contain methods. There are no specified restrictions on
the
> > nature of
> >
> > these methods. Refer to the later rule about the JavaBeans properties.
> >
> > . Java class may contain static or transient fields.
> >
> > . Java class for a JAX-RPC value type may be designed as a JavaBeans
class.
> > In this
> >
> > case, the bean properties (as defined by the JavaBeans introspection)
are
> > required to
> >
> > follow the JavaBeans design pattern of setter and getter methods. The
Java
> > type of a
> >
> > bean property must be a supported JAX-RPC type as specified in the
section
> > 5.1,
> >
> > "JAX-RPC Supported Java Types".
> >
> > Even though the spec allows value types with public fields I think the
> > JAX-RPC reference implementation only supports JavaBeans right now. This
> > means implementing (not extending) java.io.Serializable, having a public
> > no-arg constructor and having public getter/setter methods for each of
the
> > fields to be [de]serialized.
> >
> > Si.
> >
> > ----- Original Message -----
> > From: "Oliver Suciu" <olivers_at_TIBCOFINANCE.COM>
> > To: <JAXRPC-INTEREST_at_JAVA.SUN.COM>
> > Sent: Thursday, March 07, 2002 2:52 AM
> > Subject: interfaces as service parameters?
> >
> > > Hi all,
> > >
> > > Would the following work in JAX-RPC?
> > >
> > > // the service to be exposed:
> > > public interface MyServiceProvider extends java.rmi.Remote {
> > > public MyData doSomething(MyData someData) throws
> > > java.rmi.RemoteException;
> > > }
> > >
> > > // the interface that all data objects must implement:
> > > public interface MyData extends java.io.Serializable {
> > > }
> > >
> > > // some specific data object:
> > > public class SpecificData implements MyData {
> > > public boolean flag;
> > > }
> > >
> > > ???
> > >
> > > Thx,
> > >
> > > -- Oliver
>
> --
> =============================================
> There is only one me, I must live myself!
> There is only one today, I must live itself!
> =============================================
> http://members.tripod.com/~apgupta/index.html
> =============================================