To be more clear on this, what I need is some guidance on how to deal I
readValueObject(), EXTERNALIZED_OBJECT case and if I must pass the rest of
data to the AcknowledgeMessageExt.readExternal method, or pass the entire
AMFBinaryData to that method. Or another thing I don't have in mind.

thanks!


2018-06-01 1:37 GMT+02:00 Carlos Rovira <[email protected]>:

> Hi,
>
> in order to finish Small Messages implementation I need some guidance.
> Hope you guys could throw some light on this.
>
> When turning small messages on, BlazeDS send serialized version of some
> messages. For example the most important is "*DSK*" (the
> registerClassAlias for *AcknowledgeMessageExt.as*), in this case we get a
> type code *168* in "*readObject*" method from *AMFBinaryData*. We can get
> as well *169* and *161* codes, don't know if there's more since I
> couldn't find any documentation about this.
>
> So in *readValueObject*() I introduced a new case *EXTERNALIZED_OBJECT*
> (that is a constant with 168 value)
>
> Inside we need to deal with the deserialization of the
> *AcknowledgeMessageExt* message (the *DSK*).
>
> This kind of messages like the rest implements all *IExternalizable*
> methods (*readExternal*, *writeExternal*), that receive a *IDataInput*
> and *IDataOutput* respectively.
> I get all this code of messages from Flex RPC compile correctly . Here I
> have a doubt:
>
> ** When I have a ByteArray param here it should be BinaryData or
> AMFBinaryData in Royale?* (I suppose the second, but can't ensure it)
>
> Finally the main problem...How can I deserialize the DSK object that comes
> vía AMF
>
> 1.-* I'm pretty sure that AMFBinaryData must implement IDataInput and
> IDataOutput since is the object I suppose I must to pass to readExternal or
> writeExternal right?*
>
> 2.- In *readValueObject*(), case *EXTERNALIZED_OBJECT* I tried to do
> something like:
>
> *var dsk: AcknowledgeMessageExt = new AcknowledgeMessageExt()*
> *dsk.readExternal (this);*
> *value = dsk;*
>
> this is not working, if not we'll be done ;)
>
> But as I don't know how flash IExternalizable works under the hood, I
> don't know how to deal with this in Royale.
>
> I suppose that Flash Player manages the readExternal and writeExternal
> methods under the hood, right? but in Royale I suppose we need to call it
> ourselves.
>
> Maybe the IExternalizable, IDataOutput and IDataInput are not right as I
> write those. Notice that the last two doesn't have all the methods in
> Flash. I write only the required ones. I'll write the rest as we get the
> current problem solved.
>
> As I said, all messages has the message methods for readExternal and
> writeExternal compile in royale, so I think we are so close to get this
> implementation working hopefully with some help for your part to finally
> get the final pieces of this puzzle solved :)
>
> Thanks in advance
>
> Carlos
>
>
>
>
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to