发送和接收 ASPX 页面

Microsoft BizTalk Accelerator for RosettaNet (BTARN) ASPX 页面是 BTARN 和 Internet 之间的直接接口。 这两个 ASPX 页面是接收页(RNIFReceive.aspx)和发送页(RNIFSend.aspx)。 每个 ASPX 页都是相应 BTARN 管道的扩展。 管道需要 ASPX 页来处理 RosettaNet 实现框架 (RNIF) 标头。 管道执行大多数 HTTP 处理;但是,每个 ASPX 页执行 RNIF 标头的 HTTP 处理。 这些页面增强了 BizTalk Server HTTP 适配器中的功能。

每个 ASPX 页面都是没有用户界面的 ASP.NET Web 应用程序。 他们使用 ASP.NET Web 安全性来确保与外部方建立安全连接。 它们提供一个层,可在其中实现容错、可伸缩性和高可用性服务。

BTARN 安装程序在每个 BTARN 部署上安装RNIFSend.aspx页和RNIFReceive.aspx页。 当发起方或响应方与贸易伙伴交换消息时,BTARN 使用 ASPX 页面向合作伙伴 URL 发送或接收消息。 如果发起方和响应方都使用 BTARN,则发起程序上的两个 ASPX 页与响应方上的两个 ASPX 页交换消息。 有关详细信息,请参阅下面的“发起方和响应程序 ASPX 页面交互方式”子节。

发送 ASPX 页

RNIFSend.aspx页从 BizTalk HTTP 适配器接收消息。 它将创建 RNIF 标头并将其添加到消息,然后通过 Internet 将消息发送到合作伙伴。 HTTP 适配器使用以下命令调用RNIFSend.aspx:

http://localhost:<port number>/RNIFSend.aspx?<query string>  

查询字符串包括以下数据,发送页面需要将消息发送到合作伙伴,以及合作伙伴必须处理该消息的数据:

  • 交易伙伴网址:http://www.<地址>.com/RNIFReceive.aspx

  • 响应类型:同步或异步

  • RNIF 版本:1.1 或 2.0。

    BizTalk HTTP 适配器将 BTARN 发送管道生成的 MIME 消息发送到发起程序RNIFSend.aspx页。 RNIFSend.aspx处理消息,如下所示:

  1. 发送页面对消息执行验证。

  2. 发送页面基于内容类型、长度、ID 和 MIME 版本创建多用途 Internet 邮件扩展 (MIME) 标头。 它将 MIME 标头和上部和下 MIME 边界添加到消息中。

  3. 对于 RNIF 2.01,发送页设置 HTTP 标头的属性,如下所示:

    1. 它将 X-RN-Version 属性设置为进程配置设置的 Version 属性中输入的版本。

    2. 它根据进程配置设置中的 IsSynchronous 属性的设置,将 X-RN-ResponseType 属性设置为同步或异步。

    3. 它将 Content-Length 属性设置为完整消息的大小。

  4. 使用 HTTP Post,发送页面将消息发送至合作伙伴的目标 URL,该 URL 是在贸易合作伙伴协议中的 Action URL 或 Signal URL 设置中指定的。

  5. 发送页面会等待 HTTP 响应。 收到响应时,它会将其路由到 HTTP 适配器。

  6. 如果连接是异步的,则发送页将关闭连接,并且其处理已完成。

  7. 如果连接是同步的,则发送页会将连接保持打开状态,以便返回的消息。 收到消息后,它将执行对收到的消息执行RNIFReceive.aspx页面执行的相同处理,将收到的消息发送到 HTTP 适配器,然后关闭连接。

接收 ASPX 页面

RNIFReceive.aspx页面通过 Internet 接收来自伙伴的 HTTP 消息。 它处理、验证并删除 RNIF 标头,并将消息提交到 HTTP 适配器。 接收页接收的消息必须符合 RNIF HTTP 传输要求。 接收页处理消息,如下所示:

  1. 响应方RNIFReceive.aspx页从发起方接收消息。 该消息包含 MIME 标头和上边界和下边界。

  2. 接收页验证 MIME 标头。

  3. 接收页从消息中删除 MIME 标头和边界。

  4. 接收页使用 HTTP 接收位置将消息发布到 HTTP 适配器。 接收页接收 HTTP 响应,并将 HTTP 响应返回到发起程序的发送页。

  5. 如果连接是异步的,则接收页将关闭连接。

  6. 如果连接是同步的,则接收页将保持连接打开状态,等待返回的消息。

  7. 从 HTTP 适配器接收返回的消息后,接收页将执行与RNIFSend.aspx页相同的处理,并将返回的消息发送到发起程序发送页。 收到 HTTP 响应后,它会关闭连接。

发起方和响应方 ASPX 页面如何交互

如果发起方和响应方都使用 BTARN,则发起方和响应方上的四个 ASPX 页会因连接是异步还是同步而以不同的方式交互,以及消息是单作还是双作。 以下小节描述了完整的交互集。

Double-Action 异步

此方案涉及四个单独的 HTTP 连接,每个步骤一个:

  1. 发起发送页面将动作请求消息发送到响应接收页面。

    注释

    下面的步骤 2 和 3 可能按相反的顺序发生,具体取决于系统负载。

  2. 响应方发送页向发起方接收页面发送请求信号消息。

  3. 响应者发送页面将一个动作响应消息发送到发起者接收页面。

  4. 发起程序发送页向响应方接收页面发送响应信号消息。

    Single-Action 异步

    此方案涉及两个单独的 HTTP 连接,每个步骤各有一个。 请注意,此方案包括双重行动异步场景的步骤 1 和 2。

  5. 发起者发送页面将操作请求消息发送到响应者接收页面。

  6. 响应方发送页向发起方接收页面发送请求信号消息。

    Double-Action 同步

    此方案涉及一个 HTTP 连接:

  7. 发起发送页面将动作请求消息发送到响应方接收页面。

  8. 响应方接收页面将动作响应消息(如果出现问题,则发送异常)发送到步骤 1 中使用的同一连接上的发起方发送页面。

    Single-Action 同步

    此方案涉及一个 HTTP 连接:

  9. 发起方发送页面向响应方接收页面发送操作请求消息。

  10. 响应方接收页面向同一连接上的发送页面发送请求信号消息(如果出现问题,则发送异常消息)。

另请参阅

BTARN 中的消息处理
BTARN 接收管道
BTARN 发送管道