0 Replies Latest reply on Apr 1, 2011 8:40 AM by salem_b_a

    when invoking service 'remoting-service': flex.messaging.MessageException: Argument is not an array

    salem_b_a

      I'm getting a strange serialization issue with flex blazeds Spring.

      I can search, add and alter entities but when trying to delete i'm getting this error:

       

      flex.messaging.MessageException: Argument is not an array

       

      However when i try the debug mode on server everything is OK.

      here the stack trace for BlazeDs:

       

      [BlazeDS]Exception when invoking service 'remoting-service': flex.messaging.MessageException: Argument is not an array

        incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage)

          operation = supprimer

          clientId = EA1F8D9C-BD0C-941A-F168-02A08E454F43

          destination = ClientService

          messageId = F8D2B72B-C1D3-E4C5-CB06-11AA332A95B8

          timestamp = 1301671457890

          timeToLive = 0

          body = null

          hdr(DSId) = EA1E7EDA-C60E-F245-CF47-35D38F0ED6FB

          hdr(DSEndpoint) = my-amf

        Exception: flex.messaging.MessageException: Argument is not an array

      at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:225)

      at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1503)

      at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:884)

      at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:121)

      at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)

      at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)

      at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)

      at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:146)

      at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:278)

      at org.springframework.flex.messaging.servlet.MessageBrokerHandlerAdapter.handle(MessageBrok erHandlerAdapter.java:79)

      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)

      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)

      at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647 )

      at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)

      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

      ...

      at java.lang.Thread.run(Unknown Source)

      Caused by: java.lang.IllegalArgumentException: Argument is not an array

      at java.lang.reflect.Array.getLength(Native Method)

      at flex.messaging.io.amf.translator.decoder.CollectionDecoder.decodeCollection(CollectionDec oder.java:155)

      at flex.messaging.io.amf.translator.decoder.CollectionDecoder.decodeObject(CollectionDecoder .java:139)

      at flex.messaging.io.amf.translator.decoder.ActionScriptDecoder.decodeObject(ActionScriptDec oder.java:70)

      at flex.messaging.io.amf.translator.ASTranslator.convert(ASTranslator.java:77)

      at flex.messaging.io.Java15TypeMarshaller.convert(Java15TypeMarshaller.java:71)

      at flex.messaging.util.MethodMatcher.convertParams(MethodMatcher.java:211)

      at flex.messaging.util.MethodMatcher.getMethod(MethodMatcher.java:132)

      at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:420)

      at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)

      ... 27 more

       

      Thanks.