Could someone tell me how Axis and SOAP deal with  Java primitives and
the associated Reference Types ?

In other words, if I have two server-side methods, one of which takes a
Long parameter and returns a Long result, and the other of which takes a
long parameter and returns a long result, does the SOAP client see any
difference or does it only support the primitive and is Axis quietly
converting the parameters and returns from my methods ?

I'm trying to code a server-side SOAP class which can be used to invoke
methods on arbitrary EJBs, by exposing to SOAP clients a single invoke()
method, very much like Proxy/InvocationHandler.  This means that the
parameters and returns for this method will be Objects, regardless of
whether the associated parameters/returns for the EJB in question are
primitives.

If the SOAP client has no knowledge of Java Reference classes and deals
only in primitives, then is it the responsibility of a Java server-side
implementation to convert his primitive references to reference objects
(and vice-versa) as needed ?

What I'm trying to determine is whether I can get away with telling
SOAP clients to use the same call signatures documented in the
API Javadoc for the EJB, even though my invoke() method will be dealing
with reference objects in place of primitives.  Java Proxy and
Method.invoke() will handle this OK, but I don't know what Axis will do
with the Objects I expect as parameters or return as returns.

TIA,
Frank

Reply via email to