Note that there are some explanatory texts on larger screens.

plurals
  1. POCan I enrich a Mule message from HTTP REST service
    primarykey
    data
    text
    <p>I have a Mule flow with a POJO as the current message payload. I would like to enrich the message by calling out to a HTTP REST service that returns <code>text/plain</code>. I've tried a few different methods, but each time get an error. My current flow looks like:</p> <pre><code>&lt;foreach doc:name="For Each"&gt; &lt;enricher source="#[message.payload]" target="#[variable:agentCode]" doc:name="Message Enricher"&gt; &lt;http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="8080" path="ods.service/agent/agentCode/#[message.payload.getAgentEntityNumber()]" method="GET" mimeType="text/plain" doc:name="HTTP"/&gt; &lt;/enricher&gt; &lt;component class="za.co.sci.mule.agt.MoveVariablesToPayload" doc:name="Move variables to message"/&gt; &lt;/foreach&gt; </code></pre> <p>The component after the enricher just moves the variable values into my POJO. When I execute this I get:</p> <pre><code>An invalid return type "interface org.mule.api.MuleMessage" was specified for transformer "JAXBMarshallerTransformer" </code></pre> <p>That doesn't make much sense to me, but I have tried turning off the transport transformer, and I get:</p> <pre><code>java.lang.ClassCastException: org.mule.transport.http.ReleasingInputStream cannot be cast to java.lang.Integer </code></pre> <p>Which kind of makes sense, but doesn't really help.</p> <p>My question is, is it possible to enrich a message by calling a simple <code>text/plain</code> REST service? If so, how do I construct my enricher?</p> <p><strong>Update</strong></p> <p>Made the changes as per suggestion below and still the same. Full stack trace:</p> <pre><code>ERROR 2013-10-11 16:01:03,998 [[sci_silica_interface].connector.http.mule.default.receiver.02] org.mule.exception.CatchMessagingExceptionStrategy: ******************************************************************************** Message : An invalid return type "interface org.mule.api.MuleMessage" was specified for transformer "JAXBMarshallerTransformer" Code : MULE_ERROR-266 -------------------------------------------------------------------------------- Exception stack is: 1. An invalid return type "interface org.mule.api.MuleMessage" was specified for transformer "JAXBMarshallerTransformer" (org.mule.api.transformer.TransformerException) org.mule.module.xml.transformer.jaxb.JAXBMarshallerTransformer:122 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transformer/TransformerException.html) -------------------------------------------------------------------------------- Root Exception stack trace: org.mule.api.transformer.TransformerException: An invalid return type "interface org.mule.api.MuleMessage" was specified for transformer "JAXBMarshallerTransformer" at org.mule.module.xml.transformer.jaxb.JAXBMarshallerTransformer.doTransform(JAXBMarshallerTransformer.java:122) at org.mule.transformer.AbstractTransformer.transform(AbstractTransformer.java:411) at org.mule.transformer.AbstractTransformer.transform(AbstractTransformer.java:363) + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ******************************************************************************** org.mule.api.transport.DispatchException: Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=http://localhost:8080/ods.service/agent/agentCode/12345, connector=HttpConnector </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload