You add these optional serialization properties in the <channel-definition> in 
your services-config.xml file that your client is using to communicate with the 
server.
These settings are specific to the channel/endpoint they're defined for (i.e. 
not global).

So something like:
...
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
    <endpoint 
url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"; 
class="flex.messaging.endpoints.AMFEndpoint"/>
    <properties>
        <serialization>
            <ignore-property-errors>false</ignore-property-errors>
            <log-property-errors>true</log-property-errors>        
        </serialization>
    </properties>
</channel-definition>
...

Seth

From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of netdeep
Sent: Tuesday, May 13, 2008 8:09 AM
To: flexcoders@yahoogroups.com
Subject: [flexcoders] Re: Sending data to the Server


Hey my bad, I just found out I was not instantiating my AxisObject class 
correctly on the 
flex side. So I can pass the variables find now. However I would still like to 
figure out how 
to turn on the warning messages in the config files so that in the future I can 
hopefully 
catch mistakes like this much quicker. If you have time and could post maybe a 
more 
complete sample along with which files you need to update, I'd appreciate it.

Thanks for the help.

--- In flexcoders@yahoogroups.com, "netdeep" <[EMAIL PROTECTED]> wrote:
>
> 
> I got several errors on the server when I tried to add those properties to 
> the services and 
> messaging config files. Where are they supposed to go exactly? My messaging 
> channel 
is 
> a ServiceAdapter defined in the messaging-config.xml file as:
> 
> <adapter-definition id="TerracottaGateway" class="factory.ReportManager"/>
> ....
> <destination id="factory">
> <adapter ref="TerracottaGateway"/> 
> <channels>
> <channel ref="my-polling-amf"/>
> <channel ref="my-streaming-amf"/>
> </channels> 
> </destination>
> 
> I have defined setters and get methods for classes. I even used cut and paste 
> to make 
> sure the actionscript and java names are identical for all of the variables 
> and methods. 
> Yet I still don't get java to recognize the Axis class. It has about 12 
> variables. Most of 
the 
> variables are Strings and ints, but one is an ArrayList (ArrayCollection in 
> Actionscript). 
> However this conversion seems to work fine in my Chart class. Curiously my 
> chart class 
> maps fine from java to actionscript, even though I have no setter methods in 
> it, only get 
> methods. I have only two variables there: a String, and an ArrayList.
> 
> 
> 
> 
> --- In flexcoders@yahoogroups.com, "Seth Hodgson" <shodgson@> wrote:
> >
> > Make sure your classes adhere to AMF serialization rules. You need public 
> > get/set 
> accessors for each property.
> > 
> > You can also use either of the following config settings for your 
> > <channel-definition> 
> on the server to further debug any problems with de/serializing your custom 
> types.
> > <channel-definition ...>
> > ...
> > <properties>
> > <serialization>
> > <ignore-property-errors>false</ignore-property-errors>
> > <log-property-errors>true</log-property-errors>
> > </serialization>
> > 
> > You could use either (or both); when ignore-property-errors is false, an 
> > exception is 
> thrown when a property can't be handled rather than just being ignored (the 
> historic 
> default to match player behavior). 
> > 
> > When log-property-errors is true, you'll get a warning logged on the server 
> > when a 
> property is ignored. If you enable this, add Endpoint.* to your log category 
> filters to see 
> these.
> > 
> > Seth
> > 
> > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf 
Of 
> netdeep
> > Sent: Monday, May 12, 2008 12:07 PM
> > To: flexcoders@yahoogroups.com
> > Subject: [flexcoders] Re: Sending data to the Server
> > 
> > Thanks for the reply Seth.
> > 
> > I am now able to send an ArrayCollection of my custom class Chart:
> > 
> > [Bindable]
> > [RemoteClass(alias="factory.data.Chart")]
> > public class ChartObject
> > {
> > private var name:String;
> > private var axisList:ArrayCollection;
> > 
> > public function getAxisList():ArrayCollection {
> > return axisList;
> > }
> > }
> > 
> > And I can read the array in the java message handler, and it even detects 
> > the objects 
in 
> > the array as Charts but when I try to get the axisList array from within 
> > Chart, it comes 
> up 
> > as null. The axisList is an array of objects from another custom class I 
> > have called 
Axis. 
> > Here is a sample of the java Chart class for reference:
> > 
> > public class Chart {
> > 
> > //import mx.collections.ArrayCollection;
> > //import mx.controls.Image;
> > 
> > public String name;
> > public ArrayList axisList;
> > 
> > public ArrayList getAxisList() {
> > return axisList;
> > }
> > 
> > --- In flexcoders@yahoogroups.com, "Seth Hodgson" <shodgson@> wrote:
> > >
> > > You can send any type of data as the body of a message. If you want to 
> > > send an 
> instance 
> > of a typed class, be sure to include [RemoteClass(alias="your.java.Class")] 
> > metadata in 
> > your ActionScript class so that the Player serializes it with type info and 
> > the server can 
> > deserialize it to your desired type.
> > > 
> > > Seth
> > > 
> > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On 
Behalf 
> Of 
> > netdeep
> > > Sent: Friday, May 09, 2008 7:21 AM
> > > To: flexcoders@yahoogroups.com
> > > Subject: [flexcoders] Sending data to the Server
> > > 
> > > I need to send data to the server. Up til now I've been using messaging. 
> > > But as far 
as I 
> > can 
> > > tell, I can only send strings this way.
> > > 
> > > What other alternatives are there? For instance, I would like to be able 
> > > to send an 
array 
> > or a 
> > > custom data structure. I'm using Java for the backend. Ideally I would 
> > > not want to 
> launch 
> > a 
> > > new RemoteObject for each send from Flex, but instead have a persistent 
> > > listener to 
> > hear all 
> > > requests (which is why I initially chose messaging and created a channel 
> > > for the java 
> > message 
> > > manager to listen to).
> > >
> >
>
 

Reply via email to