2009/3/31 Dmitry <[email protected]>: > It is based on wsdl4j, jax-ws 2.1 (dispatcher for the execution) and xsom > (part of jaxb) for the schema parsing. > I just started working on it, but it already works (at least as a concept). > > I know that it's possible to include in Taverna third-party plug-ins (Moby > does it). > Could you please give me a hint how can I integrate it with Taverna? > For example trying to replace XML-splitter with my own XML-constructor?
Sounds interesting! What you probably want to start with is have a look at how the current wsdl-activity works - you could then make your own activity by being "inspired". The latest code for wsdl-activity is split in three: The wsdl-activity [1] which contains two Activity implementations for *executing* WSDL activivities. One of these is the splitter, the other one is invoking the activity itself. Then there's the bindings to the user interface (the workbench) so that one can find WSDL activities (by pasting in a WSDL location), add XML splitters, etc, these are in wsdl-activity-ui [2]. Last, there's a little library we wrote that does the actual WSDL invocation and Schema parsing (your areas of interest, I guess) - these are in wsdl-generic [3]. There are two ways to go with this, we could let wsdl-activity support both "libraries" (you could configure how you want to do the invocation, as one can do in SOAP-UI), or you can just "fork out" your own activity. The first solution would probably be cleanest, but given that your library is still in it's early stages I guess the APIs are not settled yet - and we would need to agree on some common ground API for doing that. To see if things are working first I would first try to make my own activity, say wsdl-jaxws-activity. Long term we've wanted to get rid of the XML splitters, and have a dialogue pop up, similar to how you can configure BioMart activities in Taverna already, and perhaps also a bit similar to your screenshot. The idea was that you should be able to tick off which elements (and attributes!) of the schema you want to provide/extract - even if they are several levels down. In that way you can end up with just one processor per WSDL service, and it will be customized with input and output ports generated for those ticked off parts of the schema. We've not done any work on this, but if you get your stuff working as it's own activity, then this could of course also be an interesting direction to go next! BTW - does your library understand inheritance and abstract types..? [1] http://taverna.googlecode.com/svn/taverna/engine/net.sf.taverna.t2.activities/trunk/wsdl-activity/ [2] http://taverna.googlecode.com/svn/taverna/ui/net.sf.taverna.t2.ui-activities/trunk/wsdl-activity-ui/ [3] http://taverna.googlecode.com/svn/taverna/utils/net.sf.taverna.wsdl-generic/trunk/ -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester ------------------------------------------------------------------------------ _______________________________________________ taverna-hackers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/taverna-hackers Developers Guide: http://www.mygrid.org.uk/usermanual1.7/dev_guide.html FAQ: http://www.mygrid.org.uk/wiki/Mygrid/TavernaFaq
