Expand my Community achievements bar.

Error Unmarshalling Arguments

Avatar

Former Community Member
Hi,

I have a FLex 2.0.1 front end and am calling Java/Spring
Remote Objects.

In my app I can create a new Request. I call the
save(requestVO) method and pass it a requestVO. In the requestVO,
there is a boolean property called newObject that specifies that
this is a new request. This works fine.



However in my app I can also perform a search and am returned
back an array of RequestVOs. I select one RequestVO, update a
property and ensure the newObject boolean is set to false (since
this is not a new request) and I pass this requestVO to the
save(requestVO) method again. When I do this I get the following
UnmarshalException:



java.rmi.UnmarshalException : error unmarshalling arguments;
nested exception is:

java.lang.ClassNotFoundException:
flex.messaging.io.ArrayCollection: This error could indicate that a
component was deployed on a cluster member but not other members of
that cluster. Make sure that any component deployed on a server
that is part of a cluster is also deployed on all other members of
that cluster



The java developers unit tests work fine so it seems there is
a problem when flex is trying to rebuild the VO to send it back?

Does anyone have any ideas on this???

Thanks...
1 Reply

Avatar

Former Community Member
You need flex-messaging-common.jar and flex-messaging.jar in
the classpath

of any of the remote servers in your cluster or whatever
server is being

contacted through RMI. (The reason may be that the collection
of VOs are

inside a flex.messaging.io.ArrayCollection and this type uses
java.io.Externalizable

and thus must be present at each endpoint of an RMI
connection as it defines

a set of custom rules for serialization).