Tom, Noel, Aoife, Try this with 1.2beta:
/** * Deserializes an InputStream (i.e. a XML file) to the appropriate Java Class * generated by Axis. * * @param is is the InputStream for deserializing (without SOAP elements) * @param qname is the qualified name of the namespace of the XML Type of clazz * @param clazz is the Java Type representation of the XML stream is * @return Object which has to be casted to the specified Java Class (clazz) * @throws Exception * @throws AxisFault */ public static Object deserializeFromInputStream(InputStream is, QName qname, Class clazz) throws Exception, AxisFault { // Wrap the InputStream up into a SOAP Body and Envelope since the parser // expects a SOAP Envelope SOAPEnvelope env1 = new SOAPEnvelope(); env1.addBodyElement(new SOAPBodyElement(is)); return AxisUtil.deserializeFromSOAPReader(new BufferedReader(new StringReader(env1.toString())), qname, clazz); } /** * Deserializes a SOAP Reader (i.e. a XML file) to the appropriate Java Class * generated by Axis. * * @param reader is the Reader for deserializing (a SOAP envelope) * @param qname is the qualified name of the namespace of the XML Type of clazz * @param clazz is the Java Type representation of the XML stream is * @return Object which has to be casted to the specified Java Class (clazz) * @throws Exception * @throws AxisFault */ public static Object deserializeFromSOAPReader(Reader reader, QName qname, Class clazz) throws Exception, AxisFault { MessageContext msgContext = new MessageContext(new AxisServer()); DeserializationContext dser = new DeserializationContextImpl( new InputSource(reader), msgContext, org.apache.axis.Message.REQUEST); // parse the InputSource dser.parse(); SOAPEnvelope env = dser.getEnvelope(); RPCElement rpcElem = (RPCElement)env.getFirstBody(); Object result = rpcElem.getValueAsType(qname, clazz); return result; } Regards, Yves On Thu, 2004-07-15 at 11:58, [EMAIL PROTECTED] wrote: > Hi, > This is exactly what I need also. Has anybody found a solution for > this? > Thanks, > Aoife > > >Hi, > >I've been looking to do the same thing. If I can find out how to call > the axis > >serialize / deserialize routines by hand, I can do away with using > castor - > >which to be honest is a bit of a pain to integrate with axis. > > > >So, please, anyone got an answer for this? > >ta > >Noel > > > On Thursday 06 November 2003 08:54, tom ONeill wrote: > > Hi all, > > > > Some existing mails seem to touch on this subject but Im still not > clear on > > the issue so here goes. > > I have used wsdl2java to create my stubs and also a number of > complex types > > defined within the wsdl file. > > > > Before I invoke my web service I am receiving an XML stream, the > structure > > of which I want to map directly to a data class that I am passing as > a > > parameter to the web service operation call. What I am wondering is > if Axis > > has some method of allowing me to marshall this XML into the > corresponding > > data class/Bean. I cannot seem to find a method within the > Deserializer API > > that would allow me to do this. > > > > All help appreciated, > > > > Tom > > > > _________________________________________________________________ > > Crave some Miles Davis or Grateful Dead? Your old favorites are > always > > playing on MSN Radio Plus. Trial month free! > > http://join.msn.com/?page=offers/premiumradio