Uploaded image for project: 'Spring Integration'
  1. Spring Integration
  2. INT-2610

Can't use payload-expression that's a Map when the Map's key is not a String.

    XMLWordPrintable

    Details

      Description

      args[0]: Map<Enum,Object> (actually the enum key doesn't matter, the bug exists as long as the Map key isn't a String.
      args[1]: Some POJO

      toList: returns List<Object>

      <int:gateway service-interface="com.http.test.TestService" default-request-channel="requestChannel">
      <int:method name="send" payload-expression="@payloadUnifier.toList(#args[0], #args[1])" />
      </int:gateway>

      The issue:

      GatewayMethodInboundMessageMapper:

      line: else if (Map.class.isAssignableFrom(methodParameter.getParameterType()))

      {...}

      evaluates the Map as a header ignoring the payload-expression.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              oleg.zhurakousky@springsource.com Oleg Zhurakousky
              Reporter:
              nettad netta doron
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: