Hi Dmitry > Hello Stian, > > >> BTW - does your library understand inheritance and abstract types..? >> > > It's more GUI component (Schema based XML constructor implemented as a > JTree) than a library. > I already handle inheritance (flattening attributes and elements) so in > a tree there is only one element with all attributes/elements from its > inheritance tree. > I do not do special parsing for abstract types and didn't look yet in > substitution groups. > As I said I use XSOM library that is a core of JAXB, so it is very > stable and at least we can be sure it is here for years. > Executing the service using jax-ws is trivial, the problem is in in/out > parsing... > > Thank you for the ideas, > I'm very interested in your experiences with XSOM. A while ago I was looking into using it in a similar way to how you describe, as a replacement to our reliance on axis to process the wsdl schema (which is horrible and led to a number of problems) and to assist in the removal of the XML splitters that Stian described. One of the sticking points that I encountered with XSOM was difficulties in using it to parse the schema from a wsdl as a whole rather than just the extracted schema. For simple cases this wasn't a problem, but I could see difficulties with handling schema's that a split across multiple files, or wsdl's that a composite of multiple wsdl's. Are you able to handle these scenarios with your component?
cheers, Stuart. > Dmitry > >> 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/ >> >> >> > > > > ------------------------------------------------------------------------------ > _______________________________________________ > 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 > ------------------------------------------------------------------------------ _______________________________________________ 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
