axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David payam <ottawaus...@yahoo.ca>
Subject RE: Axis can deserialize custom array?
Date Sun, 15 Dec 2002 21:30:07 GMT
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

Mime
View raw message