我有一个使用 Jersey REST 组件的 mule 流程
<flow name="rest-api" doc:name="rest-api">
<http:inbound-endpoint exchange-pattern="request-response"
host="localhost" path="rest" port="8081" doc:name="HTTP" />
<logger message="Message !!!!!!!! #[payload]" level="INFO"
doc:name="Logger" />
<jersey:resources doc:name="REST">
<component class="com.test.api.TestAPI" />
</jersey:resources>
<logger message="Message $$$$$$$ #[payload]" level="INFO" doc:name="Logger" />
</flow>
过去球衣组件的对象是“org.mule.module.jersey.MuleResponseWriter”类型
如何处理这个有效载荷?在返回调用者之前,我需要使用该消息并对消息做一些工作。
更新(下)
参考: http: //www.mulesoft.org/documentation/display/current/Jersey+Module+Reference
向其他流发送泽西岛响应
如果您想将球衣组件的请求转换或发送到下一个资源/流,那么您需要使用
ContainerResponse cr = (ContainerResponse) message.getInvocationProperty("jersey_response");
String messageString = (String) cr.getResponse().getEntity();
message.setPayload(messageString);
这会将 org.mule.module.jersey.MuleResponseWriter$1 类型转换为 String,您可以将其转发到下一个资源。