1 Reply Latest reply on Jul 26, 2007 8:59 AM by Newsgroup_User

    Error Unmarshalling Arguments

      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. Re: Error Unmarshalling Arguments
          Level 7
          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).