我有一个自定义云连接器,它带有一个带有列表的函数。将值硬编码到连接器的属性中可以正常工作,但是如何通过 REST 组件、Choice 流控制器和我的云连接器传递带有 ?listitem=item1&listitem=item2&other=other 的 URL。
当我告诉将 #[header:inbound:listitem] 放在连接器“来自消息”字段中时,我得到:
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl 不能转换为 java.lang.Class (java.lang.ClassCastException)
我认为它正在寻找一个字符串并且只接受第一个列表项,即使我的 REST 组件将它识别为一个 LIST 并记录两者。任何帮助表示赞赏,谢谢。
编辑:对不起,我匆忙输入了它。云连接器处理器方法是:
@Processor
public void renewSubscriptionMultiple(List<String> uuids, String hours)throws Exception{
for(String uuid:uuids){
uuid = URLDecoder.decode(uuid,ENCODING);
}
hours = URLDecoder.decode(hours, ENCODING);
logger.info("Renewing subscriptions: "+uuids+" for "+hours+" hours");
renewSubscriptions(uuids,hours);
}
它只是解码它们并将它们传递给另一个方法。我不认为这是问题所在,因为我能够很好地传递硬编码列表。
我的查询是 myIP:8081/test/subscriptions-renew?uuids=uuids1&uuids=uuids2&hours=24
而骡子版本是3.3.0