Ahem... every six months someone asks this ;)

The easiest way is to get the type from the WSDL and register the ElementSerializer / ElementDeserializer to it. This isn't very hard to do, we have to jump through slightly nastier hoops for my project (because we want to handle cases where there's already a mapping and it's a little painful) but the above works, you end up with a DOM Node corresponding to the SOAP body of the message as a return and the call consumes a Node containing the request body.

This is used (mostly) with success in our workflow project, means users can drag WSDL in and get each operation with at least a vague attempt to be sensible around complex types (we don't control the services)

Code is here http://cvs.sourceforge.net/viewcvs.py/taverna/taverna1.0/src/org/embl/ebi/escience/scuflworkers/wsdl/WSDLInvocationTask.java?rev=1.21&view=markup (runs the task) and http://cvs.sourceforge.net/viewcvs.py/taverna/taverna1.0/src/org/embl/ebi/escience/scuflworkers/wsdl/WSDLBasedProcessor.java?rev=1.36&view=markup (sets up the mappings) - apologies for the complexity, those hoops I mentioned earlier? They're on fire, and probably covered in acid dripping razor blades; you can probably get away with something a bit simpler.

Tom

SOA Work wrote:
Hi,

im going to use axis for consuming webservices. i would like to invoke services completly dynamic. at the moment i cant find a simple way to do this.

my problem: i want to use any wsdl and make dynamic calls while runtime. but: i cant find a easy way to use webservices with complex types. i only know the beanserializer/beandeserializer for using complex types and this means i must create javacode and compile it.

im not happy with this situation cause every client maschine must have jsdk and compile code! isnt there an easier way?

im not sure about the axis sysem architecture but wouldnt it be possible to write a serializer/deserializer which output is not a filled bean but some sort of data in a map for example. with the data contained in a map (or an dom tree maybe) i could simple access it while runtime.

anyone an ! idea? maybe someone wrote a solution for this problem? if there's a way to solve this problem without serializer it would be alright for me ;-)

thx in advance

dominik



Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: *http://f.web.de/?mc=021193*

Reply via email to