0

我搜索了很多,但无法得到正确的答案。我希望为 wso2 esb 编写一个新的适配器,它将能够识别新的消息传递协议(wso ESb 尚不支持)。我发现我必须为此编写一个传输。我只需要知道运输是做什么的?它应该具有使用消息构建器理解消息的能力吗?并且该组件是否进行所有消息转换等。请解释一下。在此先感谢。

4

2 回答 2

0

传输基本上是一种携带消息的方法。传输基本上是一种协议,例如http,https,vfs,它端到端地携带消息,

要检查 WSO2 方式请参阅文档“WSO2 碳传输目录”在 [1]。

编写新的传输 WSO2 ESB 基于 Apache Synapse,它使用 Axis2 Transports 来提供传输。您可以编写一个新的 Axis2 传输并将其插入 WSO2 ESB。你可以参考[2]和[3]。

[1]。http://wso2.org/project/esb/java/3.0.1/docs/transports/transports-catalog.html

[2] http://axis.apache.org/axis2/java/core/docs/axis2config.html#Receiver

[3] http://synapse.apache.org/transports.html

谢谢你,达沙那。

于 2013-04-15T08:34:10.613 回答
0

Axis2 Transport(我们在 WSO2 ESB 中使用)位于 SOAP 处理引擎的最外层。有关详细信息,请参阅 [1]。

对此进行更多解释。想象一下您需要将 SMS 协议转换为 Axis2 传输。这里需要在TransportListner 将传入的sms 消息转换为SOAP 消息,然后将其传递给Axis2 引擎。在传输侦听器中,您可以使用 MessageBuilder 将 SMS 消息转换为 SOAP 消息。

同样,当您向外部发送 SMS 消息时。您可以使用消息格式化程序将 SOAP 消息转换为 SMS 消息并将其传递给 TransportSender 到 SMS 端点。

是否使用消息构建器或传输取决于用例。假设您需要使用 JSON 消息。在那里,您可以使用任何现有的兼容传输来发送 JSON 消息,然后使用 JSON 消息构建器来执行此操作。(因为您可以通过 HTTP 等发送 JSON。)但是如果您需要使用 HTML5 Websockets 并通过它发送消息。您需要定义一个新的传输,因为没有其他方法可以监听和与 Web 套接字通信。

[1] http://axis.apache.org/axis2/java/core/docs/Axis2ArchitectureGuide.html

于 2013-04-15T14:13:00.543 回答