在 wso2 ESB 上通过 TCP 发送数据

Sending Data over TCP on wso2 ESB

我创建了一个代码,外部系统可以在其中通过 TCP 调用 wso2 esb 并传递数据,这工作正常,没有任何问题,但是没有发生相反的过程,我感到很困惑。

在这里我需要通过 TCP 将某些数据传递给外部系统,但是我无法这样做,因为在开发代理时可用的参数不包含 IP 地址,它只包含端口号,所以我我很好奇代理中未提及 IP 地址时如何建立通信。

感谢任何帮助。

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="TCPProxyClient"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="http,https">
   <target>
      <inSequence>
         <property name="symbol" scope="default" type="STRING" value="IBM"/>
         <enrich>
            <source clone="true" type="inline">
               <m:getQuote xmlns:m="http://services.samples">
                  <m:request>
                     <m:symbol>?</m:symbol>
                  </m:request>
               </m:getQuote>
            </source>
            <target type="body"/>
         </enrich>
         <enrich>
            <source clone="true" property="symbol" type="property"/>
            <target xmlns:m="http://services.samples" xpath="//m:getQuote/m:request/m:symbol"/>
         </enrich>
         <log level="full" separator=","/>
         <send/>
      </inSequence>
      <outSequence>
         <log level="full"/>
         <send/>
      </outSequence>
   </target>
   <parameter name="transport.tcp.responseClient">true</parameter>
   <parameter name="transport.tcp.inputType">string</parameter>
   <parameter name="transport.tcp.recordDelimiter">|</parameter>
   <parameter name="transport.tcp.contentType">text/xml</parameter>
   <parameter name="transport.tcp.port">8691</parameter>
   <parameter name="transport.tcp.recordDelimiterType">character</parameter>
   <description/>
</proxy>

以上参数仅在代理侦听 TCP 消息时使用。要将 TCP 消息发送到 TCP 套接字,您需要在发送中介中定义一个端点。

<send>
   <endpoint>
     <address uri="tcp://localhost:8001/helloService"/>
   </endpoint>
<send>

按照文档 [1] 在 axis2.xml 中启用 TCP 传输发送方。 有关详细信息,请参阅问题