[英]How can I send and acquire an object from a connector in Mule Studio?
我需要向期望的自定义连接器发送和获取Java对象:
// inside MyConnector.java
@Processor
public Object doSomething(@Default(#[payload]) final Object data) {...}
我正在尝试向它发送FakeData类的实例。 当我使用Mule的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);
}
}
我不知道如何使用Mule Studio在常规的Mule流中发送FakeData对象和接收另一个对象。
有人可以帮我吗?
-------更新--------
我正在使用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
在您的流程中,您可以执行以下操作:
<set-payload value="#[new org.mule.example.FakeData()]" />
编辑:您已经修改了问题,并添加了HTTP入站终结点。 您收到的错误可能是因为入站HTTP端点是request-response
并且您没有将org.mule.example.FakeData
转换为某种东西,而不是通过HTTP进行流传输。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.