0

我想使用 JBoss Fuse 将 Web 服务调用转换为 Modbus/TCP 消息(反之亦然)。该协议似乎没有第三方适配器,所以我想我必须自己编写它。这是怎么做到的?

目前,我最好的猜测是 JBoss Fuse 将 Web 服务调用的 SOAP 文件存储为一个文件并将其传递给 Apache Camel。所以我所要做的就是为这些文件格式编写一个转换器。这个对吗?

4

1 回答 1

2

你的假设是不正确的。根据您用于 Web 服务调用的组件,底层技术会有所不同。例如使用 CXF 组件调用 Web 服务意味着 CXF 进行服务交互。我也从未见过 SOAP 文件。SOAP 是一种协议,而不是一种文件类型。也许你正在考虑一个wsdl?

两种方法来实现你想要的:

  1. 创建一个充当 Modbus 生产者和消费者的组件。这是一条漫长的道路,ModBus/TCP 组件只会读/写 Modbus 协议,您仍然需要将 SOAP/Rest 或其他协议转换为 ModBus 协议。
  2. 使用 Netty、MINA 或 MINA2 等 TCP 组件来编写 ModBus。在 GitHub 上使用 Netty 4.x 项目在Java 中查看这个Modbus TCP 客户端/服务器实现。

请记住,组件只能从它们创建的系统中进行对话和读取,即 SalesForce 不会理解 SAP,Rest 组件不会讲 SOAP,文件组件不理解 TCP。您仍然需要映射/翻译。

于 2017-08-03T21:45:40.210 回答