You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Agarwal, Naresh" <na...@informatica.com> on 2003/06/04 13:31:43 UTC

"exposing functions returning complex objects" as Web Service

Hi 

Z, A, B, C, D and E are java classes. a, b, c, d and e are instances of A, B, C, D, E respectively. Classes Z, A, B, C, D and E have various functions, which could be used for various purposes. consider the code below, which shows how to use a function "getE" of class E.

----------
A a = Z.getA(some parameters - p1)   // getA is static function
B b = a.getB(some parameters - p2)
C c = b.getC(some parameters - p3)
D d = c.getD(some parameters - p4)
E e = d.getE(some parameters - p5)
---------


Now if I wish to expose such a program as a WebService, then I cann't do this "as is" because SOAP does not support passing objects by references. Thus, I cannot expose "getA" function as WebService, as it returns instance of class A, which inturn has functions, which return other objects (like b)

Thus AFAIK, we have to expose a single function "getE", which in turn will do all the stuff, i.e.,

getE(p1, p2, p3, p4, p5) {

A a = Z.getA(p1)   // getA is static function
B b = a.getB(p2)
C c = b.getC( p3)
D d = c.getD(p4)
E e = d.getE(p5)
return e;

}

Is there a better way out? Or this is the only way to expose such existing SDKs as Web Services?

thanks & regards,
Naresh Agarwal