在 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 传输发送方。
有关详细信息,请参阅问题 。
我创建了一个代码,外部系统可以在其中通过 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 传输发送方。
有关详细信息,请参阅问题