You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Dimuthu Leelarathne <mu...@vijayaba.cse.mrt.ac.lk> on 2002/09/05 10:32:22 UTC
Re: Deserialization at client side
Hi,
I am sorry I haven't mentioned that this is a doc\literal service that does not use wsdl. So if the server sends xsi:types it would not be correct. In this case the client doesn't know what is coming on the wire. That is why I wrote a bean for PurchaseOrderResponse.
I don't know whether what I do is correct but that is what came into my mind.
Thanks,
Dimuthu.
----- Original Message -----
From: "Michael Konietzka" <ko...@schlund.de>
To: <ax...@ws.apache.org>
Sent: Friday, September 05, 2003 12:02 PM
Subject: Re: Deserialization at client side
> On Wed, Sep 04, 2002 at 06:09:45PM +0600, Dimuthu Leelarathne wrote:
> > Hi,
> >
> > Am I loosing my sense of time or does it actually take two days for my mails
> > to reach the mailing list?
> >
> > Thank you all for your help and patience, but now I run into more problems.
> >
> > The TCPMonitor shows request and response messages as below.
> >
> > Request --------------
> > <soapenv:Body>
> > <PurchaseOrder xmlns="urn:DoclitOrder">
> > <description xmlns="">Wood carving of an
> > Elemphant</description>
> > <item xmlns="">ER234</item>
> > <quantity xmlns="">1</quantity>
> > </PurchaseOrder>
> > </soapenv:Body>
> >
> > Response -------------
> >
> > <soapenv:Body>
> > <PurchaseOrderResponse xmlns="urn:DoclitOrder">
> > <PurchaseOrderReturn xmlns="">
> > Hi you just ordered the item ER234
> > Quantity :: 1
> > Description :: Wood carving of an Elephant</PurchaseOrderReturn>
> > </PurchaseOrderResponse>
> >
> >
> > Now I have a problem with client side Deserialization
> > of the Response. The error message it gives is
> >
> > org.xml.sax.SAXException: Deserializing parameter 'PurchaseOrderResponse':
> > could not find deserializer for type {urn:DoclitOrder}PurchaseOrderResponse
> >
> > I have a PurchaseOrderResponse coded as a bean with one String. I have also
> > registered BeanSerializerFactory, BeanDeserializerFactory using
> > call.register type mapping, but it looks like BeanDeserializer is not even
> > used. (I have given the stack Trace below). What could be the problem ?
> >
> > Any help is really appriciated.
> >
> >
> > In the Client I have specified like this ..........
> >
> > oper.setReturnType(new javax.xml.namespace.QName("urn:DoclitOrder",
> > "PurchaseOrderResponse"));
> > oper.setReturnClass(PurchaseOrderResponse.class);
> > oper.setReturnQName(new javax.xml.namespace.QName("urn:DoclitOrder",
> > "PurchaseOrderResponse"));
>
> Hm,
> maybe it's too early in the morning for me, but why do you care about
> "PurchaseOrderResponse"? This is the "Response" of your RPC, isn't it?
> You have to deserialize "PurchaseOrderReturn", which is just a String.
> So you can declare "PurchaseOrder" with a return value "String" on server
> side with no more TypeMapping problems.
>
>
> Best regards
> Michael
> --
> Dipl.-Inform. Michael Konietzka Schlund + Partner AG
> - Development UNIX - Brauerstraße 48
> Webservices D-76135 Karlsuhe
> http://www.schlund.de/ Germany
>
>