Make sure the objects in your ArrayList don't contain any static public final fields on the java side. There is a bug that when the object gets sent to flash the static fields get serialized along with the object, then when you send it back to java it tries to create that static field.
I had the same problem a while back and fixed it by basically stripping my object down to nothing and adding pieces back in piece by piece until it broke with that error you mention. --- In [email protected], "fowleryj" <[EMAIL PROTECTED]> wrote: > > So here's my situation: On the Flex side, I have received a result set > from the database, made changes to a few of its attributes, and > am trying to send it back to Java so that the changes can be saved to > the database. I looked at Hari's thread on the matter > (http://groups.yahoo.com/group/flexcoders/message/14164), but that > doesn't seem to be my problem, because I don't mind saving my data as > a generic Array (in Flex)/ArrayList (in Java). > > The problem occurs when I try to send the Array back to Java... > > I assign it to an eventObject and broadcast the event: > > var eventObject:Object = new Object(); > eventObject.writtenDescription = writtenDescription; // > writtenDescription is a local variable that holds the result set > returned from the database on a prior remote object call > EventBroadcaster.getInstance().broadcastEvent( > RegistryController.EVENT_SAVE_WRITTEN_DESCRIPTION, eventObject ); > > I then pass the eventObject through a Command to the Delegate: > > public function saveWrittenDescription() : Void { > var call = > service.saveWrittenDescription(event.data.writtenDescription); > call.resultHandler = Delegate.create( responder, responder.onResult ); > call.faultHandler = Delegate.create( responder, responder.onFault ); > } > > The Java method waiting on the other end looks like this: > > public void saveWrittenDescription(ArrayList writtenDescription) > throws Exception { > // code removed to conserve space > } > > The error I see in the Network Monitor when trying to invoke the Java > method looks like this: > > [object] : > code[String] : Server.Processing > description[String] : Cannot invoke method 'saveWrittenDescription'. > details[String] : The expected argument types are > (java.util.ArrayList) but the supplied types were > (flashgateway.io.ASObject) and converted to (null). > level[String] : error > rootcause[object] : > code[null] : null > description[String] : Type RecordSet not found > details[String] : > level[String] : error > type[String] : > type[String] : > > So, to attempt to fix what looked to be a type-cast error, I cast > writtenDescription to an Array, keeping all other code as it was before: > > eventObject.writtenDescription = Array(writtenDescription); > > That did not fix the problem, as the Network Monitor still showed: > > [object] : > code[String] : Server.Processing > description[String] : Cannot invoke method 'saveWrittenDescription'. > details[String] : The expected argument types are > (java.util.ArrayList) but the supplied types were > (java.util.ArrayList) and converted to (null). > level[String] : error > rootcause[object] : > code[null] : null > description[String] : Type RecordSet not found > details[String] : > level[String] : error > type[String] : > type[String] : > > I don't understand why it is still breaking if the expected argument > equals the supplied argument. Can anyone provide some insight, please? > > Thank you, > YJ > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

