Hi people, I was looking into dynamic invocation of web services for some time. Dynamic invocation would have the advantage of using the wsdl to construct the soap message dynamically, meaning that changes in wsdl could be automatically picked up by the soap executor.
What I have found until now is that both Axis and the Web Service Invocation Framework (originally created by ibm but now also an apache project, http://ws.apache.org/wsif/) allow dynamic invocation. The DynamicInvoker sample demonstrates how it can be done in Axis. However, there is one caveat for both DynamicInvoker and WSIF: they work, as they are, only with simple java types. If you want to use complex types, you have to have a corresponding Java class created on the client side - which makes dynamic invocation much less 'dynamic' : if the complex types in the wsdl change, you have to change and recompile the corresponding java class. JROM (Java Record Object Model; http://www.alphaworks.ibm.com/tech/jrom) from alphaworks addresses exactly this problem, and it contains samples which demonstrate Axis and WSIF used together with JROM. However, I would prefer using Axis alone to solve the problem of Dynamic Invocation with complex types. Anybody solved this using Axis alone and without pre-creating client side java classes to represent the complex types? Thanks for any hints, Zoltan Schreter NOKIA, Finland