我正在使用Jersey编写自定义连接器,我需要创建一个@Processor,它将MultivaluedMap作为参数并将其传递给我的Jersey查询。
我希望我的@Connector能够拥有
@Processor
public String query(MultiValuedMap<String,String> params) {
...
return webResource.queryParams(params).get(String.class);
}
然后xml.sample需要示例流声明,但我找不到如何声明参数
<!-- BEGIN_INCLUDE(myconnector:qry) -->
<myconnector:qry params=" ??? " />
<!-- END_INCLUDE(myconnector:qry) -->
并且mule-config.xml需要真实的参数!
<flow name="testQuery">
<myconnector:qry params=" ??? " />
</flow>
或者我可以简单地在泽西请求中插入一个字符串,如
@Processor
public String query(String paramString) {
return webResource. ??? .get(String.class);
}
但如何将该字符串(“?age = 45&amp; language = en”)附加到查询网址?
答案 0 :(得分:0)
看一下DevKit生成的XSD:这将提示您使用正确的XML语法将映射值传递给消息处理器。
答案 1 :(得分:0)
经过多次搜索,我得到了答案:
@Processor
Public void qry(List<String> param1,Map<String,String> param2) {
...
}
可以声明为
<!-- BEGIN_INCLUDE(myconnector:qry) -->
<myconnector:qry>
<myconnector:param1 ref="" />
<myconnector:param2 ref="" />
</myconnector:qry>
<!-- END_INCLUDE(myconnector:qry) -->