我对WSO2和FIX协议都是新手,我的目标是通过wso2向FIX网关发送SOAP消息。我的理解是,WSO2会将soap消息转换为fix语法,并发送请求,然后在收到fix回复后将响应转换回soap。我的问题是,登录、注销和其他会话请求会由wso2自动发送吗?或者,后端应用程序应该为每个应用程序创建请求?另外,校验和字段是由WSO2自动添加的吗?
发布于 2020-12-17 20:37:30
WSO2企业服务总线的FIX传输基于Quickfix/J FIX引擎,该引擎支持协议的所有六个主要版本。简而言之,WSO2负责将SOAP消息转换为FIX消息,然后将其发送到FIX引擎。收到响应后,WSO2会将FIX消息转换为SOAP消息。请注意,发送或接收的SOAP消息具有以下格式:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<message>
<header>
<field id="8"><![CDATA[FIX.4.0]]></field>
<field id="9"><![CDATA[124]]></field>
<field id="34"><![CDATA[2]]></field>
<field id="35"><![CDATA[8]]></field>
<field id="49"><![CDATA[EXEC]]></field>
<field id="52"><![CDATA[20080326-10:03:17]]></field>
<field id="56"><![CDATA[SYNAPSE]]></field>
</header>
<body>
<field id="6"><![CDATA[0]]></field>
<field id="11"><![CDATA[1206525794862]]></field>
<field id="14"><![CDATA[0]]></field>
<field id="17"><![CDATA[1]]></field>
<field id="20"><![CDATA[0]]></field>
<field id="31"><![CDATA[0]]></field>
<field id="32"><![CDATA[0]]></field>
<field id="37"><![CDATA[1]]></field>
<field id="38"><![CDATA[2]]></field>
<field id="39"><![CDATA[0]]></field>
<field id="54"><![CDATA[1]]></field>
<field id="55"><![CDATA[DELL]]></field>
</body>
<trailer>
<field id="10"><![CDATA[190]]></field>
</trailer>
</message>
</soapenv:Body>
</soapenv:Envelope>所以开发人员应该只转换他的消息(SOAP、JSON等)。转换为使用上述格式的SOAP消息,然后对响应执行相同的操作。至于登录,心跳请求等,这些都是由WSO2在内部处理的,开发人员不应该担心它们。校验和也一样,不发送校验和,WSO2会自动生成校验和并将其附加到FIX消息中。开发人员应该只在axis2.xml配置文件中启用修复,并且应该创建代理服务(很多教程只能在这一部分找到),最好的一个是:https://wso2.com/library/articles/2010/06/fix-your-soa-wso2-esb/
https://stackoverflow.com/questions/64890349
复制相似问题