Hi, I'm adding web service invocation to a scripting language I'm working on. So I want the script action, which has dynamic typing, to call org.apache.axis.client.Call.invoke() directly - rather than use the stubs generated by wsdl2java.
For the rpc/encoded case, I'm fine. For the other messaging styles, though, I'm confused. The Javadoc for Call.invoke() says: """ Invokes the operation associated with this Call object using the passed in parameters as the arguments to the method. For Messaging (ie. non-RPC) the params argument should be an array of SOAPBodyElements. *All* of them need to be SOAPBodyElements, if any of them are not this method will default back to RPC. In the Messaging case the return value will be a vector of SOAPBodyElements. """ SOAPBodyElement has a number of constructors (none of them javadoc'ed, unfortunately), but the only one that appears to allow me to set the content has the signature: public SOAPBodyElement(org.w3c.dom.Element elem) This tells me that I need to serialise the message args to DOM elements first - so that I can then make SOAPBodyElements so that I can then call Call.invoke(). But I had previously thought that the serialisation of the arguments to XML happened *after* calling Call.invoke(). So I'm confused. My confusion is compounded when I look at the code generated by wsdl2java for a doc/lit WSDL description. This generates argument wrappers (e.g. _InputText in a data/ sub-package) that are *not* SOAPBodyElements, which appears directly to contradict the Javadoc on call.invoke(). If anyone would be so kind as to shed some light to dispel my confusion, I'd be very grateful. Regards, Ian _____________________________________________________________________ Ian Dickinson HP Labs, Bristol, UK mailto:[EMAIL PROTECTED] net www.hpl.hp.com/personal/Ian_Dickinson ph +44 (117) 312 8796