hi Vidyanand :
Thanks for your reply! :)
I followed the readme file in the Encoding sample.
So I don't need start Tomcat.
I just run like this:
java samples.encoding.TestSer
I think my problem is that - How can I deserialize
array of java object(custom type) in a different
java object(another custom type).
Right now, I can deserialize a java object(custom
type) in a
different java object(another custom type).
So if you have ideas about my problem please let me
know.
Regards
David
--- Vidyanand Murunikkara <Vidyanand@infravio.com>
wrote: > I guess you redployed after making the
changes . But
> did you restart
> tomcat after you changed the signature of the class
> ?
>
> Vidyanand.
>
> -----Original Message-----
> From: David payam
> Sent: Sat 12/14/2002 6:19 PM
> To: axis-dev@xml.apache.org
> Cc:
> Subject: Axis can deserialize custom array?
>
>
>
>
>
> hi:
>
> I changed the sample code of Encoding, and
> added another
> class(DataNew) to
>
> the class(Data).
>
> It works fine - can serialize and deserialize
> correctly.
>
> Class A{
>
> Class B;
>
> }
>
> But after I changed the class(DataNew) to
> DataNew(array),
>
> Class A{
>
> Class B[];
>
> }
>
>
>
> the deserialize dosen't work correctly, every
> time I got the
> same mistake:
>
>
>
------------------------------------------------------------------------
> -------------- \
> -------------------------------
>
> E:\axis>java samples.encoding.TestSer
> Serialized msg:
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/"
> <http://schemas.xmlsoap.org/soap/envelope/> xmln
> s:xsd=" http://www.w3.org/2001/XMLSchema"
> <http://www.w3.org/2001/XMLSchema> xmlns:xsi="
> http://www.w3.org/2001/XMLSc
> hema-instance">
> <soapenv:Body>
> <ns1:method1 xmlns:ns1="urn:myNamespace">
> <ns1:testParam xsi:type="xsd:string">this is a
> string</ns1:testParam>
> <struct href="#id0"/>
> </ns1:method1>
> <multiRef id="id0" soapenc:root="0"
> soapenv:encodingStyle="
> http://schemas.xmls <http://schemas.xmls/>
> oap.org/soap/encoding/" xsi:type="ns2:Data"
> xmlns:soapenc="
> http://schemas.xmlsoa <http://schemas.xmlsoa/>
> p.org/soap/encoding/" xmlns:ns2="typeNS">
> <stringMember xsi:type="xsd:string">String
> member</stringMember>
> <floatMember
> xsi:type="xsd:float">1.23</floatMember>
> <dataMember xsi:type="soapenc:Array"
> soapenc:arrayType="ns2:DataNew [2]
>
<http://marc.theaimsgroup.com/?l=axis-user&m=103982240211990&w=2#2>
> ">
> <item href="#id1"/>
> <item href="#id2"/>
> </dataMember>
> </multiRef>
> <multiRef id="id2" soapenc:root="0"
> soapenv:encodingStyle="
> http://schemas.xmls <http://schemas.xmls/>
> oap.org/soap/encoding/" xsi:type="ns3:DataNew"
> xmlns:ns3="typeNS" xmlns:soapenc=
> " http://schemas.xmlsoap.org/soap/encoding/"
> <http://schemas.xmlsoap.org/soap/encoding/> >
> <stringMember
> xsi:type="xsd:string">tttt</stringMember>
> <floatMember
> xsi:type="xsd:float">66.66</floatMember>
> </multiRef>
> <multiRef id="id1" soapenc:root="0"
> soapenv:encodingStyle="
> http://schemas.xmls <http://schemas.xmls/>
> oap.org/soap/encoding/" xsi:type="ns4:DataNew"
> xmlns:ns4="typeNS" xmlns:soapenc=
> " http://schemas.xmlsoap.org/soap/encoding/"
> <http://schemas.xmlsoap.org/soap/encoding/> >
> <stringMember xsi:type="xsd:string">another str
> member</stringMember>
> <floatMember
> xsi:type="xsd:float">99.999</floatMember>
> </multiRef>
>
> </soapenv:Body>
> </soapenv:Envelope>
> -------
> Testing deserialization...
> local name item
> org.xml.sax.SAXException: Invalid element in
> DataNew struct -
> item
> at
>
samples.encoding.DataNewDeser.onStartChild(DataNewDeser.java:44)
> at
>
org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
> rializationContextImpl.java:912)
> at
>
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
> va:200)
> at
>
org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
> t.java:693)
> at
>
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerIm
> pl.java:404)
> at
>
org.apache.axis.encoding.DeserializationContextImpl.startElement(Dese
> rializationContextImpl.java:925)
> at
>
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.ja
> va:200)
> at
>
org.apache.axis.message.MessageElement.publishToHandler(MessageElemen
> t.java:693)
> at
>
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:299)
> at
>
org.apache.axis.message.RPCElement.getParam(RPCElement.java:308)
> at
> samples.encoding.TestSer.main(TestSer.java:114)
>
>
>
>
------------------------------------------------------------------------
> ------------- \
> -------------------------------
>
> It seems that the derialization class of DataNew,
> always look -
> "item" in the struct
>
> of DataNew,. But these is no definition of item in
> the class, so
> program will always
>
> fails here.
>
>
>
> So any one can give some ideas about how to handle
> the array
> deserialize in custom \
> datatype?
>
> or show me some sample codes.
>
> BTW, I just copied the dataser.java file to
> datanewser.java and
> changed the
>
> "data" to "datanew". I need other changes?
>
>
>
>
>
> thanks in advance!
>
>
>
> David
>
>
>
>
>
> _____
>
> Post your free ad now! Yahoo! Canada Personals
>
=== message truncated ===
> ATTACHMENT part 2 application/ms-tnef
name=winmail.dat
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca
|