Mule SQS sendMessage throwing 无法从 "json" 转换为 "java.util.HashMap"
Mule SQS sendMessage throwing Failed to transform from "json" to "java.util.HashMap"
升级到最新的 SQS 连接器后,以前工作的代码现在失败了。
- Mule ESB 和集成平台版本:3.6.0 构建:ed775fdb
- 亚马逊 SQS 连接器(Mule 3.5.0+)3.0.0.201506091134
最新版本的连接器需要指定消息属性。
API 文档的显示消息应该是一个字符串。
http://mulesoft.github.io/sqs-connector/3.0.0/mule/sqs-config.html#send-message
使用:
<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.TransformerMessagingException:无法从 "json" 转换为 "java.util.HashMap"。消息负载的类型为:String
我认为这是因为我有一个名为的可选参数:
<sqs:message-attributes>
默认为#[payload] 并期望有效载荷是一个地图。因此,为避免这种情况,请指定参数并尝试传递 null maybe:
<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>
升级到最新的 SQS 连接器后,以前工作的代码现在失败了。
- Mule ESB 和集成平台版本:3.6.0 构建:ed775fdb
- 亚马逊 SQS 连接器(Mule 3.5.0+)3.0.0.201506091134
最新版本的连接器需要指定消息属性。
API 文档的显示消息应该是一个字符串。 http://mulesoft.github.io/sqs-connector/3.0.0/mule/sqs-config.html#send-message
使用:
<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.TransformerMessagingException:无法从 "json" 转换为 "java.util.HashMap"。消息负载的类型为:String
我认为这是因为我有一个名为的可选参数:
<sqs:message-attributes>
默认为#[payload] 并期望有效载荷是一个地图。因此,为避免这种情况,请指定参数并尝试传递 null maybe:
<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>