Ok. That's the kind of info i was looking for. :) I'm surprised that user-defined schema types will need to be generated, but maybe i shouldn't be surprised. The alternative to that is to do what the DynamicInvoker does.
Oh well.. back to the mines. Anuj. --- Nirmal Mukhi <[EMAIL PROTECTED]> wrote: > Using the dynamic API directly, you do not need to generate any > stubs. The > only thing you need to have is java equivalents of all the user > defined > schema types used by the web service (these can be generated using > WSDL2Java). This is demonstrated in all the dynamic clients for the > samples. If your web service doesn't have user defined types, you > don't > generate anything. > > If you use the stub API, in addition to having the java types, you > need to > generate a stub interface. > > Anuj Agrawal <[EMAIL PROTECTED]> > This was good information - thanks Nirmal! By 'truly dynamic' i > meant > that there is no need to *generate* any stubs etc. > > My particular scenario is that currently there is a need to connect > to > one web service. However, we forsee needing to connect to multiple > different web services in the future. So, we'd like to setup our > framework so that it would be least code changes/hassle on our end as > and when we connect to the different web services. We figured WSIF > provides us that framework, but kept seeing the samples utilize some > "generated" code. We figure we need to come up with a solution that > is > not quite the DynamicInvoker extreme, but not the > "need-to-generate-static-stubs" route either - something in the > middle. > Does this approach sound right? > > I do appreciate all the assistance/patience. :) > > Anuj. > > --- Nirmal Mukhi <[EMAIL PROTECTED]> wrote: > > There are two kinds of ways you can go to access *a particular* web > > > service: > > 1. Stub invocation: > > Use the WSDL to generate java classes and a stub interface. > > > Write a small bit of code using the WSIF API to create the > > service > > object from the WSDL and supply it with the stub interface, then > use > > the > > stub interface ot invoke the service. > > The main advantage of this approach is that you (the > > application) > > use a high level view of the service (the stub interface). > > 2. Dynamic invocation: > > Write code to access the WSDL, build WSIF messages and > > operations, > > and invoke the service. > > > > If by "truly dynamic" you mean you want code to be able to invoke > > *any* > > web service, the DynamicInvoker is what you should look at. > > > > In terms of performance issues, DynamicInvoker will be slowly than > > the > > other two clients. The stub/dynamic clients will be almost > identical > > in > > WSIF (stub based will be slightly slower probably), since stub > > invocation > > really uses a dynamic proxy mechanism (i.e. under the wraps it > really > > uses > > the dynamic API, we don't actually generate a hardcoded stub class, > > just > > allow access via the stub interface). > > > > Anuj Agrawal <[EMAIL PROTECTED]> > > Hmm.. i looked at the dynamic clients in the samples. And now i'm > > confused (i think). I thought the dynamic clients would be truly > > dynamic, but they ALL have references to some kind of generated > > beans/stubs (e.g. in the localjava sample, it imports > > localjava.client.stub.addressbook.wsiftypes.Address). Is that the > > right approach? > > > > I should also explain here that i'm totally comfortable creating > > static > > invocation clients (using WSDL2Java tool to generate stubs etc.). > > But > > for our long term goals, we felt that using DII would be a better > way > > to go and an article on webservices.org suggested that IBM's (and > now > > ASF's) WSIF is a good way to go. But then on the java.sun.com's > web > > services tutorial, they suggest to use DII *only* if the client > > cannot > > use static stubs. The article also suggests that the performance > hit > > of using DII is not very significant - is this really the case? I > > guess it boils down to should we or shouldn't we use DII over > static > > stubs? (The only article that compares the 2 approaches was the one > > on > > webservices.org.) > > > > Anuj. > > > > --- Nirmal Mukhi <[EMAIL PROTECTED]> wrote: > > > The DynamicInvoker is an example of using the WSIF dynamic API to > > > invoke > > > any web service. If you want to write your own client that uses > > > WSIF's > > > dynamic API, that code would help. However since the > DynamicInvoker > > > code > > > is used to invoke *any* web sevrice, it does introspection and > > things > > > that > > > you would not require if you were just writing a client to access > a > > > > > particular web service. You can also look at the dynamic clients > in > > > all > > > the samples. There is no "recommended" way, but hopefully all > those > > > > > examples will help. > > > > > > Anuj Agrawal <[EMAIL PROTECTED]> > > > Ok - that clears that up. I see the DynamicInvoker class being > > used > > > as > > > well. Is the code in that class the "recommended" way for us to > > > build > > > web service clients using dynamic invocation? > > > > > > --- Nirmal Mukhi <[EMAIL PROTECTED]> wrote: > > > > WSIF allows stubless (dynamic) invocation as well as invocation > > > > through > > > > JAX RPC stubs. You don't have to do stub invocation if you > don't > > > want > > > > to. > > > > The sample present two alternative clients for accessing the > same > > > > service, > > > > one using the dynamic API and one using a JAX RPC stub (all the > > > > samples > > > > follow this format). > > > > > > > > Anuj Agrawal <[EMAIL PROTECTED]> > > > > I've been reading up on WSIF and it sounds great! I have a > > > question > > > > regarding usage. > > > > > > > > In the SOAP (StockQuote) sample on the ws.apache.org/wsif site, > > why > > > > are > > > > (any) stubs are used in the example? I thought one of the main > > > ideas > > > > of the dynamic invocation was that we wouldn't need to generate > > > > stubs. > > > > Did i miss something here? > > __________________________________________________ > Do you Yahoo!? > Yahoo! Tax Center - File online, calculators, forms, and more > http://platinum.yahoo.com > > __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://platinum.yahoo.com
