Щас код разъема выглядит следующим образом:Как передать Java HashMap в пользовательский соединитель Mule?
// myConnector class
/**
* Process item
*
* {@sample.xml ../../../doc/my-connector.xml.sample myConnector:process}
*
* @param binary
* the item to process
* @param stuff
* key value pairs for processing
*
* @return the status as a string
*
* @throws NullPointerException
* when one of the parameters are null
*/
@Processor
public String process ( @Payload final byte[] binary,
final HashMap<String,String> stuff)
throws NullPointerException {...}
// myConnector.sample
<!-- BEGIN_INCLUDE(myConnector:process) -->
<myConnector:process>
<myConnector:stuff>
<item1>data1</item1>
<item2>data2</item2>
</myConnector:stuff>
</myConnector:process>
<!-- END_INCLUDE(myConnector:process) —>
У меня есть HashMap хранится в заголовке сеанса внутри моего Mule потока (# [заголовок: сессия: myHashMap]), но я не могу понять, как чтобы отправить его на разъем.
--- обновление ---
Если изменить образец соединителя и соединительный элемент, чтобы соответствовать я получаю ошибку, когда я построил разъем.
// myConnector.sample
<!-- BEGIN_INCLUDE(myConnector:process) -->
<myConnector:process stuff="#[stuff]"/>
<!-- END_INCLUDE(myConnector:process) —>
// my mule flow
<flow>
<myConnector:process stuff="#[sessionVars.myHashMap]"/>
</flow>
// the error
[ERROR] Error validating example: cvc-complex-type.3.2.2: Attribute 'stuff' is not allowed to appear in element 'myConnector:process'. Failing example: <myConnector:process stuff="#[stuff]"/>
[ERROR] error on execute: An error ocurred while the DevKit was generating Java code. Check the logs for further details.
Пожалуйста, покажите точные аннотации на 'process' –
Я обновил оригинальный пост с интерфейсом и комментариями метода. Это то, о чем вы просили? – TERACytE
У вас есть параметр '@ Payload', всегда предоставляйте всю информацию, пожалуйста. –