Mule:当Header:Content-Type不符合JMS规范时,JMS队列无响应

时间:2014-09-17 16:18:12

标签: mule mule-studio

目前正在开发代理服务REST,以便在使用JMS的REST服务操作(更新,删除,插入)中包含有保证的交付。在其中一个流程中我有:

<flow name="name" doc:name="name">
... 
<jms:outbound-endpoint exchange-pattern="request-response" queue="**crear-cuenta-jms**" connector-ref="JMSConnector" doc:name="JMS" mimeType="application/json"/>
<logger message="payload is : #[payload]" level="INFO" doc:name="Logger"/>
....
</flow>

*此流程接收json文档,然后将其发送到队列*

在流队列侦听器中:

<flow name="name2" doc:name="name2">        
<jms:inbound-endpoint doc:name="JMS" connector-ref="JMSConnector" exchange-pattern="request-response" queue="**crear-cuenta-jms**" mimeType="application/json"/>
<set-payload value="Chevere" doc:name="Set Payload"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
</flow>

当我运行此流程时会生成警告

WARN 2014-09-17 11:07:49,379 [[dynamo-proxyrest-template.xml] .responsableHTTPConnector.receiver.02] org.mule.transport.jms.JmsMessageUtils:标题:Content-Type是不符合JMS规范(第3.5.1,3.8.1.1节)。它会导致您和其他应用程序出现问题。请更新您的应用程序代码以更正此问题。 Mule将其重命名为Content_Type

INFO 2014-09-17 11:07:50,524 [Dispatcher-Channel-2] org.mule.transport.jms.JmsReplyToHandler:回复消息发送至:direct://amq.direct/TempQueueb4c14e85-7e1b-4e45- 882f-531c09e0ec40 / TempQueueb4c14e85-7e1b-4e45-882f-531c09e0ec40?routingkey ='TempQueueb4c14e85-7e1b-4e45-882f-531c09e0ec40'&amp; exclusive ='true'&amp; autodelete ='true'with correlationID:ID:78836ef7-01f5- 38c1-9612-76bae28fadc0

*在这里可以观察到哪个生成了适当的临时队列*

WARN 2014-09-17 11:07:50,532 [Dispatcher-Channel-2] org.mule.transport.jms.JmsMessageUtils:Header:Content-Type不符合JMS规范(sec.3.5.1,3.8 .1.1)。它会导致您和其他应用程序出现问题。请更新您的应用程序代码以更正此问题。 Mule将其重命名为Content_Type

INFO 2014-09-17 11:07:59,790 [[dynamo-proxyrest-template.xml] .responsableHTTPConnector.receiver.02] org.mule.api.processor.LoggerMessageProcessor: payload post 3 es:{ NullPayload}

尽管如此,我无法检索回复消息。

我感谢任何帮助

1 个答案:

答案 0 :(得分:0)

在我的特定情况下,我通过从出站JMS端点删除 MIME类型设置来解决此错误。由于此设置,Mule会自动添加 Content-Type HTTP标头。