мне нужно отправить и получить объект Java к пользовательскому разъему, который ожидает:Как отправить и приобрести объект из соединителя в Mule Studio?
// inside MyConnector.java
@Processor
public Object doSomething(@Default(#[payload]) final Object data) {...}
Я пытаюсь отправить ему экземпляр класса FakeData. Я могу проверить, что это работает, когда я посылаю объект, используя класс FunctionalTestCase мула:
<!-- inside mule-config.xml -->
<flow name="Do_Something">
<myconnector:do-Something document-ref="#[payload]"/>
</flow>
public class FlowBuilder extends FunctionalTestCase {
public void run() {
Object payload = new FakeData();
Flow flow = lookupFlowConstruct("Do_Something");
MuleEvent event = FunctionalTestCase.getTestEvent(payload);
MuleEvent responseEvent= flow.process(event);
}
}
Я не могу понять, как отправить объект FakeData и получить другой объект в обычном Mule потоком с использованием Мул Studio.
Может кто-нибудь помочь мне?
------- -------- Update
Я вызова потока, используя конец HTTP передней панели. Поток выглядит следующим образом:
[HTTP] -> [Java "My Transformer"] -> [Custom Connector]
Я попытался добавить трансформатор в передней части разъема:
public class MyTransformer extends AbstractMessageTransformer {
@Override
public Object transformMessage(MuleMessage message, String outputEncoding)
throws TransformerException {
return new fakeData();
}
}
Теперь я получаю такой ответ:
Could not find a transformer to transform
"SimpleDataType{type=org.mule.example.FakeData, mimeType='*/*'}" to
"SimpleDataType{type=org.mule.api.transport.OutputHandler, mimeType='*/*'}".
(org.mule.api.transformer.TransformerException) (org.mule.api.transformer.TransformerException). Message payload is of type: FakeData
Вы называете поток «Do_Something» из другого потока? Вы должны иметь поток где-то, который начинается с входящей конечной точки (например, http, jms, file), которая затем устанавливает полезную нагрузку как объект FakeData перед вызовом вашего соединителя. – neildo