I need to access a webservice from Java. The service has a WSDL. Now how do I get to calling its operations?
- I've already used
wsimport
on it, but that only generates XML objects for the operations/responses, nothing to actually call them. - I've looked at Spring-WS but it doesn't look like it's completely what I want (even though it might be part of the solution). The word "wsdl" doesn't appear in that page at all.
Here is a quick link I found
http://download.oracle.com/javaee/1.4/tutorial/doc/JAXRPC5.html
Basically, this type of calling is calling Dynamic Invocation where you would NOT need to know the WSDL apriori.
If you use Eclipse, there's this wizard that let's you create what's called a new "Web Service Client" just by pointing at your wsdl file.
so if you have your wsdl in your project, then just click on "new" and choose the wizard.
it'll ask you for the wsdl file and some other info (you can choose your runtime -Axis, Axis2, CXF...).
i think this wizard is part of WTP (www.eclipse.org/webtools).
take a look:
http://tinyurl.com/5v56s5u
http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/WebServiceClient/WebServiceClient.html
wsimport
does not only generate the Objects needed for communication with the service but also a service client. Create an instance of the classMSaleService
and fetch the port withgetMSaleServiceSoap()
. That's it.There might be some problems though.
wsimport
complained aboutbut I don't know if this poses real problems.