Weihong,

here an example:

                        request = (SalaryDeclarationRequestType)
AxisUtil.deserializeFromInputStream(i,
                                        new
QName("http://www.abc.com/sd/20040701/SDC","SDeclarationRequestType";),
                                        SDeclarationRequestType.class);

It seems that in your case the QName element is missing the classname
thus the deserializer can't find any appropriate class.

Yves

On Wed, 2004-07-21 at 01:43, wei zhu wrote:
> Thanks Yves and Aoife.
> I made code compiled, but when I run it, I got exception "No
> deserializer for {http://www.opengis.net/xls}";. My code is attached
> here. Do you have any suggestion about this issue?
>  
> thanks a lot
> Weihong
> 
> 
> Yves Langisch <[EMAIL PROTECTED]> wrote:
>         Wei,
>         
>         this was my own class but you are right that there is also an
>         AxisUtil
>         class in the axis.jar. The two classes are independent, so
>         just give it
>         another name.
>         
>         Yves
>         
>         On Tue, 2004-07-20 at 09:21, [EMAIL PROTECTED]
>         wrote:
>         > Hi Wei,
>         > 
>         > There is an AxisUtil class in wss4j jar. However that didn't
>         appear
>         > to contain the methods named so I just copied the required
>         methods in
>         > to my own class. 
>         > 
>         > Aoife
>         > 
>         > 
>         > 
>         > 
>         > wei zhu
>         > 
>         > 
>         > 19/07/2004 23:41
>         > Please respond to
>         > axis-user
>         > 
>         > To: 
>         > [EMAIL PROTECTED]
>         > cc: 
>         > Subject: 
>         > Re: Deseralize XML
>         > 
>         > 
>         > Yves,
>         > I couldn't find java class AxisUtil. Do you know which jar
>         AxisUtil is
>         > in?
>         > ; 
>         > thanks a lot
>         > Wei
>         > 
>         > 
>         >
>         
> ///////////////////////////////////////////////////////////////////////////////////////
>         > 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 Bo dy 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 a xis 
>         > > >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
>         &g t; > > 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
>         > > >
>         > 
>         > 
>         >
>         ______________________________________________________________________
>         > Do you Yahoo!?
>         > Vote for the stars of Yahoo!'s next ad campaign!
>         
> 
> 
> ______________________________________________________________________
> Do you Yahoo!?
> Yahoo! Mail is new and improved - Check it out!

Reply via email to