我一直在研究WSO2企业服务总线的这个特殊情况:我们有一些远程设备,监测各种类型的数据(温度,风,警告,警报,恐慌,等等)。这些设备通过UDP和TCP向服务器发送数据包,大多是二进制格式(起始位、协议、值、时间、停止位)。
我知道TCP可以通过axis2服务器支持WSO2和UDP传输,但是我找到的所有示例都要求数据采用SOAP格式(或类似axis2)。有没有办法配置Axis2服务器接收原始包?提前谢谢。
发布于 2016-01-21 19:32:14
AFAIK这可以通过在axis2.xml中配置消息构建器和格式器来实现。Apache是Apache Synpase的SOAP处理的基础,它帮助用户通过Axis2和formats添加他们的自定义消息格式。
生成器接受二进制数据流并创建XML消息,格式化程序接受XML消息并将其转换为字节。将以下消息构建器和格式化程序添加到conf/axis2.xml中的相应部分(用于Apache Synapse和WSO2 Enterprise Service Bus)。
<messageBuilder contentType="text/html"
class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
<messageFormatter contentType="text/html"
class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>上面的例子展示了如何为text/html内容类型启用二进制中继。对于要在字节级处理的每个内容类型,您需要重复上述配置对。
有关设置二进制中继的更多信息,请参阅此documentation。
希望这些信息能对你有所帮助。
https://stackoverflow.com/questions/34910600
复制相似问题