Much oblidged, Jeff. I was thinking to implement something like that, so if it works this way great! I'm still researching and would love to hear on the subject from Alek or Ant or the other authors. I recall seeing suggestion like this (2 Queues: for In and Out) in one of the 2001/2002 presentations by the IBM WSIF folks re. async support in WSIF.
I've got another question and would appreciate an answer: Can a single client use multiple Providers to multiple Services? For ex. A client calls WSDL1 over SOAP/HTTP and WSDL2 over JMS and WSDL3 over Java. I don't see why not, since the binding in in WSDL, but haven't run any examples with this case and would like to hear howto's and any gotchas in doing this. Best to all, Greg -----Original Message----- From: Jeff Greif [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 29, 2004 5:56 PM To: [email protected] Subject: Re: Async invocation in WSIF I'm not sure JMS transport is required for the invoked web service endpoint. I think there is a test example which uses the JMS queue as the destination for the response, including persistence if the client happens to be shut down when the response arrives, but uses a JMS <-> HTTP bridge to invoke the "ordinary" web service endpoint synchronously. Jeff ----- Original Message ----- From: "Gregory Prokter" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, December 29, 2004 4:08 PM Subject: RE: Async invocation in WSIF > Jeff- > > The answer to your Q is YES. > > Ok, after studying the WSIF code, it appears that the transport indeed has > to be JMS in order for WSIFPort_ApacheAxis.supportsAsync() which is called > by WSIFOperation_ApacheAxis.executeRequestResponseAsync() to return TRUE. > Otherwise, it return FALSE and > WSIFOperation_ApacheAxis.executeRequestResponseAsync() throws WSIFException > ("asynchronous operations not available"); as indeed happened in my case. > > This is very disappointing since not ever Web Service supports JMS, but all > support HTTP. > > -----Original Message----- > From: Jeff Greif [mailto:[EMAIL PROTECTED] > Sent: Wednesday, December 29, 2004 12:40 PM > To: [email protected] > Subject: Re: Async invocation in WSIF > > > Did you look at tests/async in the wsif tree? > Jeff > ----- Original Message ----- > From: "Gregory Prokter" <[EMAIL PROTECTED]> > To: <[email protected]> > Sent: Wednesday, December 29, 2004 11:54 AM > Subject: RE: Async invocation in WSIF > > > > Thanks Jeff. > > > > Using an asynch transport, like a JMS provider or SOAP Provider on top of > > JMS is a possible approach to async invocation, but IMO it's rather a far > > leass advantageous approach than having async invocation in the WSIF > itself, > > regardless of the synch trasport protocol, like HTTP you're running on top > > of. See an excellent ref on the subject: > > http://www.voelter.de/data/articles/ijwr04.pdf. I thought and hoped that > > WSIF.executeRequestResponseAsync() is just that, an async invocation in > > WSIF, and in my view if it doesn't work it will undermine considerably the > > value of WSIF. > > > > Greg > > > > -----Original Message----- > > From: Jeff Greif [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, December 29, 2004 11:33 AM > > To: [email protected] > > Subject: Re: Async invocation in WSIF > > > > > > This answer is not definitive, but may be helpful nonetheless. I believe, > > but am not certain, that you need to have a JMS implementation backing > > asynchronous calls in WSIF. This means you need to build Axis with a JMS > > implementation (such as OpenJMS) in the class path and similarly make > that > > implementation available in your classpath when WSIF is used. In earlier > > incarnations of WSIF, there was some documentation of what was necessary, > > but I have not looked recently to see if it's still there. > > > > Jeff > > ----- Original Message ----- > > From: "Gregory Prokter" <[EMAIL PROTECTED]> > > To: <[email protected]> > > Cc: <[EMAIL PROTECTED]> > > Sent: Wednesday, December 29, 2004 9:14 AM > > Subject: Async invocation in WSIF > > > > > > > Hello WSIF experts! > > > > > > Happy New 2005 Year to all! > > > > > > Recently, I discovered WSIF and it looks awesome! Have run some > examples > > > with it. Not everything works smoothly and I will have to dive into the > > > code myself, which I will do very reluctantly, since I'd rather > > concentrate > > > on my project rather than WSIF code, but this is the nature of the open > > > code. > > > > > > Now to my question. When I ran an example involving asynch invocation, > > i.e. > > > > > > ok = operation.executeRequestResponseAsync(input, responseHandler); > > > /* there is a definition of: public class AsyncResponseHandler > implements > > > WSIFResponseHandler {} */ > > > > > > I got this cute Exception: > > > > > > org.apache.wsif.WSIFException: asynchronous operations not available > > > [java] at > > > > > > org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRe > > > questResponseAsync(Unknown Source) > > > [java] at > > > > > > com.edrient.manager.samples.wsif.DynamicInvoker.invokeMethod(DynamicInvoker. > > > java:291) > > > [java] at > > > > > > com.edrient.manager.samples.wsif.DynamicInvoker.main(DynamicInvoker.java:105 > > > ) > > > [java] Exception in thread "main" > > > [java] Java Result: 1 > > > > > > So, is WSIFOperation.executeRequestResponseAsync() avail or not? What > > > versions support it? I got the lattest stable (downloaded around mid > > > December 04). > > > > > > Need you help ASAP! > > > > > > Thanks a lot in advance, > > > > > > Greg > > > > > >
