同步请求-响应接收适配器的接口

所有接收适配器都需要实现以下接口,然后才可以在请求-响应模式中工作:

  • IBTTransport

  • IBTTransportControl 仅) (常规适配器

  • IBTTransportConfig

  • IBaseComponent

  • IPersistPropertyBag

  • IBTBatchCallBack

  • IBTTransmitter

    支持请求-响应协议的接收适配器(例如,HTTP 接收适配器)在提交请求消息时执行以下操作:

  1. 接收适配器接收传入的请求消息。 它通过调用 IBTTransportProxy 接口的 GetBatch 方法从传输代理获取批。 在此调用中,适配器传入一个回调指针,指向其 IBTBatchCallBack.BatchComplete 方法的实现。

  2. 适配器通过调用 IBTTransportBatch 接口的 SubmitRequestMessage 方法(每个请求消息一次)将请求消息添加到批处理中。

  3. 添加所有消息后,适配器将调用 IBTTransportBatch 接口的 Done方法,该方法通过传输代理将批处理提交到消息引擎。

  4. 处理批处理后,消息引擎通过传输代理调用适配器的 IBTBatchCallBack.BatchComplete 回调方法。 提交状态作为 HRESULT 值的数组(与批处理中每个消息相对应)传递给适配器。 如果批处理在管道中或业务流程中失败,则 SOAP 错误消息将作为响应返回给适配器。

  5. 传入的请求消息可以有业务流程订户。 业务流程完成并处理请求消息后,消息传送引擎通过传输代理从 IBTTransmitter 接口调用适配器的 TransmitMessage 方法,将响应消息发送到适配器。

  6. 适配器发送响应消息,然后从 MessageBox 数据库中删除原始消息。

    下图显示在创建同步的请求-响应接收适配器时涉及的对象交互。

    显示创建同步请求-响应接收适配器所涉及的对象交互的图像。
    接收适配器提交同步消息的工作流

另请参阅

适配器变量
开发接收适配器
实例化和初始化接收适配器
进程内接收适配器的接口
独立接收适配器的接口
支持批处理的接收适配器的接口
支持批处理的事务性接收适配器的接口