it's written without c -> transient
Arnaud Vezain wrote:
What about transcient property.
In a classic serializable object, writing "transcient" before any field
name allows to hide it to the serialization process.
-----Original Message-----
From: "Maurice Marrink" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Mon, 2 Aug 2004 16:43:05 +0200
Subject: serialize only certain fields of bean
Hi,
I have a number of beans I want to serialize to a soap message. I use
the
standard beanserializer that comes with axis 1.1 and that works great,
but
now I have several fields in different beans that I don't want to
serialize.
Example : Class A {
private String a;
private String b;
private String c;
private String d;
//getters and setters
}
In the output soap message I only want so see the values for a and c. I
came
across this thread on this mailinglist that suggested to use
<myClass>BeanInfo classes, and that worked great. Untill I found out
those
classes interfered with the rest of the application. So I had to get
ridd of
them. I also tried to use the <myClass>_Helper classes to specify a
custom
TypeDesc, trying to fake those fields I did not need as attributes.
Which
also doesn't work because those fields still get serialized only as
attribute instead of elements. minOccurs=0 in the TypeDesc also won't
work
because then the fields would have to be null, which they are not.
Is there another way to tell axis which fields to serialize or is my
only
hope to override beanserializer and do the serializing myself. The
solution
is preferably something axis specific because the rest of my
application is
using all the fields.
Here is the relevant part of my wsdd
<service name="UserService" provider="java:RPC" style="rpc"
use="encoded" >
<parameter name="className"
value="nl.topicus.bao.web.webservices.UserService"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="application"/>
<namespace>http://www.topicus.nl/parnassys</namespace>
</service>
Thx,
Maurice Marrink