Hello, When I was saying one can use GET&POST with WSDL 1.2 I was referring to WSDL requirement R085 [1]. It also gives an example of how WS-Addressing endpoints can be used. IMHO, though, using WS-Addressing constructs instead of URLs can be more complex, unless all the information an endpoint construct can hold is required.
Thanks Sergey Beryozkin [1]http://lists.w3.org/Archives/Public/www-ws-desc/2003Apr/att-0088/R085-200 3-04-22.html ----- Original Message ----- From: "Sanjiva Weerawarana" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, June 17, 2003 3:14 PM Subject: Re: passing objects by reference in SOAP - How would it work? > The purpose of WS-Addressing is to allow one to pass around > references to services. In the WS world service references are > the analogy of object references of course. Thus, it is indeed > possible to pass such references in SOAP. > > However, I don't think anyone has a programming model for > WS-Addressing sorted out .. so not sure whether you can actually > use it yet unless you do it yourself. > > Sanjiva. > > ----- Original Message ----- > From: "Agarwal, Naresh" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, June 17, 2003 6:33 PM > Subject: RE: passing objects by reference in SOAP - How would it work? > > > Hi Sergey, > > The problem here is not the session (also most SOAP toolkits support session > via HTTP cookies and SOAP headers). The problem is that SOAP does not > support passing objects by reference (which is supported in other > distributed computing technoloies like DCOM and CORBA) > > thanks, > > Naresh Agarwal > > -----Original Message----- > From: Sergey Beryozkin [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 17, 2003 5:05 AM > To: [EMAIL PROTECTED] > Subject: Re: passing objects by reference in SOAP - How would it work? > > > Hi, > In most cases you don't want to do the same in SOAP. Often, a good approach > is to create a simple wrapper application which will handle internally all > the session-oriented staff. > With WSDL 1.2 you can GET a session first and then POST to it > Cheers > Sergey Beryozkin > > ----- Original Message ----- > From: Agarwal, Naresh <mailto:[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Sent: Tuesday, June 17, 2003 12:56 PM > Subject: passing objects by reference in SOAP - How would it work? > > Hi > > A typical SDK is object-oriented and involves passing objects/data by > references (pointers). This will work as long as the client using the SDK is > in the same address space of the SDK. However, if client and SDK (i.e., the > service which provides SDK functions) are in different address spaces, then > this will not work "AS IS", and we need some kind of > marshalling/demarshalling mechanism used in DCOM and CORBA etc. > > How does such a thing will work in SOAP given the fact that SOAP does NOT > support passing objects by reference? > > Consider the example of a typical SDK given below: > > Z, A, B, C, D and E are some 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 SDK 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 (executed at service side), which return other > objects (like b) > > Thus AFAIK, the only way out is 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 > > > > > > >
