Mule SQS sendMessage抛出无法从转换为;json";至;java.util.HashMap“;
升级到最新的SQS连接器后,以前的工作代码现在失败Mule SQS sendMessage抛出无法从转换为;json";至;java.util.HashMap“;,mule,amazon-sqs,Mule,Amazon Sqs,升级到最新的SQS连接器后,以前的工作代码现在失败 Mule ESB和集成平台版本:3.6.0构建:ed775fdb 亚马逊SQS连接器(Mule 3.5.0+)3.0.0.201506091134 连接器的最新版本要求指定message属性 API文档的显示消息应为字符串。 使用: <object-to-string-transformer doc:name="Object to String"/> 流接受发布的数据并将其作为SQS消息提交 <flow name=
- Mule ESB和集成平台版本:3.6.0构建:ed775fdb
- 亚马逊SQS连接器(Mule 3.5.0+)3.0.0.201506091134
<object-to-string-transformer doc:name="Object to String"/>
流接受发布的数据并将其作为SQS消息提交
<flow name="rxWebhook">
<http:listener config-ref="HTTPS_8081" path="/" doc:name="HTTPS" responseStreamingMode="ALWAYS">
<http:response-builder disablePropertiesAsHeaders="true"/>
</http:listener>
<object-to-string-transformer doc:name="Object to String"/>
<sqs:send-message config-ref="Amazon_SQS_USWEST2" message="#[payload]" queueUrl="${aws.sqs.myQueue}" doc:name="Amazon SQS"/>
</flow>
将json数据发布到流时,会出现以下错误:
org.mule.api.transformer.TransformerMessageException:无法从“json”转换为“java.util.HashMap”。消息负载的类型为:String我认为这是因为有一个可选参数,名为:
<sqs:message-attributes>
默认为#[payload],并期望有效负载是一个映射。因此,为了避免这种情况,请指定参数并尝试传递null可能:
<sqs:send-message config-ref="Amazon_SQS_USWEST2" message="#[payload]" queueUrl="${aws.sqs.myQueue}" doc:name="Amazon SQS">
<sqs:message-attributes ref="#[null]"/>
</sqs:send-message>