WSO2 ESB:UDP 到 HTTP 转换

WSO2 ESB : UDP to HTTP transform

我正在尝试以高性能方式将 UDP 消息转换为 HTTP。所以我想用WSO2 ESB来做。 所以我尝试了示例教程 https://docs.wso2.com/pages/viewpage.action?pageId=26838866 样品效果很好。

于是我尝试使用UDP 消息生成工具(packetsender)调用ESB 代理。但是我不能只发送一个字符串值作为 UDP 消息,我必须在每个 UDP 消息中发送完整的 soap 消息。即

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
    <m0:placeOrder xmlns:m0="http://services.samples">
        <m0:order>
            <m0:symbol>IBM</m0:symbol>
        </m0:order>
    </m0:placeOrder>
</soapenv:Body>
</soapenv:Envelope>

那么是否可以向所有端点发送只有字符串的 UDP 消息(而不发送整个 SOAP 信息)?可能在那里我们可能需要更改 ESB 的以下代理服务,

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="UDPProxy"
       transports="udp"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="OUT_ONLY" value="true"/>
      </inSequence>
      <endpoint>
         <address uri="http://127.0.0.1:9764"/>
      </endpoint>
   </target>
   <parameter name="transport.udp.port">9998</parameter>
   <parameter name="transport.udp.contentType">text/xml</parameter>
   <description/>
</proxy>

谢谢

修改您的代理定义并根据您的需要调整内容类型:

<parameter name="transport.udp.contentType">text/plain</parameter>