如何在mule中从JSON有效负载创建SOAP消息

时间:2014-11-18 20:42:10

标签: soap mule

我需要将以下json有效负载转换为soap消息并将消息发送给消费者,消费者编辑数据并发回soap消息。

我还没有用肥皂做过多。我只有REST经验。在这样的过程中我需要采取哪些步骤?

最好的方法是什么?

[{"salesOrderId":"00004-5-6","saleName":"House Sale","status":"processing"}, {"salesOrderId":"00001-2-3","saleName":"Car Sale","status":"processing"}]

3 个答案:

答案 0 :(得分:3)

有多种方法可以执行此转换,例如:

路径 - 1

  • Json To XML(带变换器或字符串集有效负载)
  • 使用XSLT,转换器或字符串集有效负载的Xml To SOAP Request。
  • 发送SOAP请求sobre HTTP(POST / Content-type:applicacion / xml / soapAction)

路径 - 2

  • 使用Groovy,XSLT或字符串集有效负载的Json To SOAP Request。
  • 发送SOAP请求sobre HTTP-OUTBOUND(POST / Content-type:applicacion / xml / soapAction)

路径 - 3

  • Json To SOAP Request Proxy(WSDL To Java)。
  • 发送SOAP请求sobre HTTP-OUTBOUND(POST / Content-type:applicacion / xml / soapAction)

答案 1 :(得分:2)

最简单的方法是使用<json:json-to-object-transformer/> JSON 有效内容中提取 JSON 元素,并将每个节点值存储在变量中,例如流量变量骡子。
然后,您可以使用 XSLT 创建SOAP请求,并将流量变量值作为<mulexml:context-property/>传递到 XSLT 中 参考: - https://developer.mulesoft.com/docs/display/current/XSLT+Transformer
创建 SOAP XML 后,您只需将其发布到指向您需要使用的外部Web服务的 HTTP 出站端点

答案 2 :(得分:0)

尝试使用Mule DataMapper。这有助于您以更简单的方式将JSON转换为XML。你可以在骡子的Anypoint Studio中试试。