Tom, You will need to traverse the symbol table and register say the ElementSerializer/ElementDeserializer or your own custom ser/deser before invoke. It should not be very difficult.
-- dims On Sat, 15 May 2004 13:02:37 +0100, Tom Oinn <[EMAIL PROTECTED]> wrote: > > Hi all, > > We have a workflow system called Taverna (taverna.sf.net) which uses > axis for the parts it need to call web service based components. I was > able to use the dynamic invocation example to construct this and to use > wsdl4j and axis's wsdl parsing to present the user with a view on the > service that looks like a standard 'chip' type thing, has inputs and > outputs and a big button marked go (this is per operation, obviously). > > This all works very nicely, can consume .net service and others as long > as they're using simple types, so string, byte[] and arrays of these. As > it happens this is normally sufficient, in our community > (bioinformatics) these are far and away the most common services, > descending as they do from wrapped command line tools - obviously a > command line tool consumes files so binary or text is cool. > > There are a few services out there, however, which are document oriented > and use complex types. All well and good, but of course our current > framework panics and so our users can't construct workflows containing > these types and that's a shame. What I was thinking of doing was > presenting an operation that consumed complex types as always being > document oriented, so in the workflow it would have a single input xml > and a single output xml document. These can then be parsed and created > by adjacent processing entities in the workflow. > > So - how easy is it going to be to modify the existing dynamic > invocation code to a) notice that there's a complex type and b) switch > automagically into something that looks like a document style invocation? > > Any pointers or experiences would be most helpful. > > Cheers, > > Tom >