[xwiki-users] Calling a web service from Velocity
Thomas Kliethermes
kliether at us.ibm.com
Mon Jun 18 19:18:28 CEST 2007
I've used a bare-bones XWiki plugin to instantiate a webservice client
using axis, then call that from velocity. XWiki is bundled with axis.jar,
so there might be a more "native" way, but I've never seen it documented
if there is. I think there might be a way to Just Make It Happen in
Groovy just by passing in the web service URL, but I haven't investigated
that. Has any one tried it?
http://docs.codehaus.org/display/GROOVY/Groovy+SOAP
The steps I did went something like this:
1) Use Axis's WSDL2Java to create the client.
Something like: java org.apache.axis.wsdl.WSDL2Java --helperGen --output
src http://theurl/to/the/service?WSDL
That command will place the java classes under a directory called "src".
2) The create your plugin using the online example, and add a method to
create a connection to your webservice. This is the method I have, except
the class name is changed. Axis created all the needed classes in the
previous step. Just import them.
public YourWebService getWebService() throws ServiceException
{
YourWebService ServiceLocator imlocator = new YourWebService
ServiceLocator();
YourWebService ims = null;
try
{
//Actually get a service
ims = imlocator.getYourWebService();
//cast it as the stub to set the password
//YourWebService Stub stub = (YourWebService Stub)ims;
//TODO: Set username and password
//stub._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY,
username);
//stub._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY,
password);
}
catch (ServiceException se)
{
mLogger.debug("Big fat error in plugin: " + se.getMessage());
throw se;
}
return ims;
}
3) Build and copy the needed jar files to lib.
4) #set($webservice = $xwiki.yourplugin.getWebService())
$webservice.method1()
$webservice.method2("blah")
$webservice.method3()
-Tom
--
Tom Kliethermes
eSupport Initiatives
IBM Information Management
(913) 599-7240 Fax: (913) 599-8590
http://www.ibm.com/software/data
Ute <ute_gerlach at arcor.de>
06/15/2007 01:33 PM
Please respond to
xwiki-users at objectweb.org
To
xwiki-users at objectweb.org
cc
Subject
Re: [xwiki-users] Calling a web service from Velocity
Sorry for posting this again, but I had the bad feeling that my first post
didn't make it into the mailing list.
Unfortunately I'm still struggling with making a call to a Web service...
Cheers,
Ute
Ute wrote:
>
> Hi all,
>
> can anyone give me an example how to call an external web service from
> Velocity code and evaluate the result?
> The question may be stupid, but I'm new to XWiki, Velocity, and WEb
> programming...
>
> Many thanks in advance,
> Ute
>
--
View this message in context:
http://www.nabble.com/Calling-a-web-service-from-Velocity-tf3915895.html#a11145068
Sent from the XWiki- Users mailing list archive at Nabble.com.
--
You receive this message as a subscriber of the xwiki-users at objectweb.org
mailing list.
To unsubscribe: mailto:xwiki-users-unsubscribe at objectweb.org
For general help: mailto:sympa at objectweb.org?subject=help
ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xwiki.org/pipermail/users/attachments/20070618/5b3a9168/attachment-0001.html
More information about the users
mailing list