【问题标题】:Inbound SOAP end-point for MuleMule 的入站 SOAP 端点
【发布时间】:2014-04-15 03:27:30
【问题描述】:

我想将 SMS 服务公开为 SOAP 端点。我有 SMS 服务在 mule 中工作,但我目前有一个简单的 HTTP 端点

谁能帮助我完成此 SOAP 服务的步骤和 WSDL 文件,以将其作为入站端点

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.sms.example.com/">
<soapenv:Header/>
<soapenv:Body>
  <ws:sendTextMessage>
<sender>%SENDERID%</sender>
<to>%TO%</to>
<text>%MESSAGE%</text>
  </ws:sendTextMessage>
</soapenv:Body>
</soapenv:Envelope>

亲切的问候。

贾科

【问题讨论】:

    标签: web-services web wsdl mule


    【解决方案1】:

    我认为没有任何工具可以从 SOAP 示例创建 WSDL 文件,但是您的架构看起来很简单,您应该能够通过一些 helloworld wsdl 教程手动创建它。另一种方法是尝试为服务创建一个 Java 实现,它会在连接到端点时打印出 wsdl。有关这两种方法的更多信息,请参阅Mule docs

    要测试和验证您的 wsdl/soap 端点,请安装 SoapUI 并创建一个测试项目,在其中导入 wsdl,生成请求(自动运行),查看它是否与您的示例匹配,然后为请求将其发送到 Mule 入站。

    在 Mule 中,您几乎有两种选择:您可以像上面示例中那样将服务实现为 Java 类,或者您可以将其实现为 cxf:proxy-service,您可以直接访问有效负载。在后一种方法中,您不需要任何 Java 类,您只是将流程包装在 SOAP API 中。

    更新:

    SOAP 请求几乎只是使用 XML 的 HTTP 调用,就像在您的示例中作为原始 POST 数据一样,因此您可以像任何 POST 数据一样在 Mule 入站中访问它们的内容,并使用 XPath 解析它们。如果您定义一个 cxf:proxy-service,您将获得更多“真实”的 SOAP 服务功能,但是您可以使用几乎任何 HTTP 侦听器接收 SOAP 调用,获取它们的内容,并使用客户端期望的字符串进行回复,并且客户不会知道其中的区别。

    如果您的 Mule 流与另一个 SOAP 服务联系,您可以创建一个同时包含服务器和客户端的代理,例如 this example。您还可以通过将?wsdl 附加到服务 URL 来获取其他 SOAP 服务的 WSDL。这是 SOAP 的常见做法。

    【讨论】:

    • 嗨安东。我知道你没有那些工具,我一直在找一个哈哈。我只需要将这些 % 占位符传递到我在 mule 流中拥有的当前变量中。我必须编写 Java 代码还是可以通过 MEL 访问入站的 soap 变量?
    • 查看 ddos​​sot 的代理服务示例:github.com/ddossot/mule-in-action-2e/blob/master/chapter07/src/…。您可以在 dom-to-xml-transformer 之后使用 xpath 表达式来访问数据。你当然可以直接从http入站获取soap调用数据,而跳过使用Mule SOAP的东西。它只是 HTTP POST。例如,如果您不需要任何类型的错误处理... :)
    • 是的,我只想得到这些变量。另一端的系统以该格式进行肥皂调用。我可以将这些变量作为入站参数获取,还是作为有效负载进来,我必须将它们从那里拉出来?
    • 非常感谢安东。我设法找到了正确的 xpath,但现在如果我尝试在 HTTP 端点之后的有效负载上使用它,我会收到错误类型错误。所以我想我需要改造它。什么是正确的变压器使用?再次感谢您对 Mule 的所有帮助。
    • 我收到此错误:消息有效负载的类型为:ContentLengthInputStream
    猜你喜欢
    • 1970-01-01
    • 2013-02-22
    • 2012-12-28
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    相关资源
    最近更新 更多