I've used the org.apache.axis.client.Service constructors, that take a WSDL file name or URL, but haven't done the kind of dynamic invocation that you're talking about. I still needed to know the port name and operation that I wanted to call. However, the Service class does have a getPorts() method that looks like it would return the port types known about in the WSDL. And then there is the getCalls(portName), which returns the call objects for a particular port. So look at using these methods of the Service class. It's a good starting point.
Alternatively, use the features of tools like XMLSpy (Enterprise edition) and Mindreef's SOAPscope, to do exactly what you want.
Tony
dear all:
just started playing with axis (java) for some demo
project, and have one fundamental question:
if a wsdl file of a very basic service (e.g. invoke
the service to get a string) is available to the
client, is there some existing/easy way for the client
to extract the required parameters to the objects
required to invoke the service (e.g. Call, Service and
Qname)?
or posed in another way, how do you implement a
generic client where it can analyse a wsdl file and
present the available methods to the user (say, in a
GUI)?
this is assuming that i don't have any client stubs
available, just the wsdl file.
thanks in advance,
ye
- Re: newbie wsdl question tony . q . weddle
- Re: newbie wsdl question Tim Hu
- Re: newbie wsdl question john cho