2014-05-15 36 views
0

我正在編寫一個使用Jersey的自定義連接器,並且我需要創建一個@Processor,它將多值映射作爲參數並將其傳遞給我的Jersey查詢。我可以在MuleESB連接器上申請MAP嗎?

我希望我的@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) --> 

和騾子-config.xml需要真實的參數!

<flow name="testQuery"> 
    <myconnector:qry params=" ??? " /> 
</flow> 

或者我可以簡單地插入一個字符串到像

@Processor 
public String query(String paramString) { 
    return webResource. ??? .get(String.class); 
} 

澤西請求,但我怎麼追加該字符串(「?年齡= 45 &語言= EN」)的查詢網址?

回答

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) --> 
+0

爲什麼很多搜索?在熟悉DevKit的輸出的同時,看着XSD會告訴你。 –

+0

謝謝大衛。是的,它確實顯示了預期的格式,而不是暗示,它完全公開地聲明它!不幸的是,我當時並沒有看到它。我認爲我對這個問題太深入了。 – TecOpen

0

查看DevKit生成的XSD:這會提示您正確的XML語法以將映射值傳遞給消息處理器。