BizTalk 的TCP/IP适配器最初是为英国的保健行业开发。该适配器属于BizTalk进程内适配器,将消息通过TCP/IP 套接字符串在BizTalk服务器与远程客户端间进行通讯。
TCP/IP适配器支持以下几种交互模式:
- Request Only 消息被发送到BizTalk并路由到任何流程(Orchestration)或发送端口。
- Request-Response 消息被发送到BizTalk并接收从BizTalk返回的远端服务器的返回信息。
- Solicit Only 消息从BizTalk发送到远端服务器。
- Solicit-Response 消息从BizTalk发送到远端服务器,并接收远端服务器的返回信息。
- Dynamic Solicit 动态发送。
- Duplex Request 客户端的全双工请求。
- Duplex Solicit BizTalk的全双工请求。
使用前的准备与安装
由于BizTalk不自带TCP/IP适配器,因此在使用之前需要先到CodePlex的BTSTCPIP站点上去下载安装文件,安装过程比较简单,但是需要注意的是在安装之后或者在安装过程中需要对文件对话框里的配置文件内容手动添加到BizTalk的运行时配置文件(BTSNTSvc.exe.config)。
否则在运行时会出现 “The type initializer for 'Microsoft.Samples.BizTalk.Adapter.Tcp.Receive.ReceiveAdapter' threw an exception.”的异常。
添加适配器
安装完毕之后需要在BizTalk管理控制台添加该适配器,以过程是为了给TCP/IP适配器创建相应的接收和发送主机。
在适配器的属性配置窗口,输入相应的适器名称,在适配器选项列表中选择适配器,应用之后就会在右侧的窗口看到该适配器的接收和发送主机。
演示
该适配器具体的说明可以参考安装目录下的《TCPIP Adapter User Guide》,在以下的演示时我们同时将使用到安装目录下的:TcpClient.exe,TcpServer.exe工具。分别作为TCP请求客户端和 TCP服务器。如果对TCP传输的内容感兴趣的话也可以使用tcpTrace(第三方工具)来监听传输过程中的数据包。
以下要演示的是比较好理解的两个场景,一个是单向请求和双向请求。演示的逻辑是在BizTalk先创建一个TCP/IP的接收端口,用来监听来自 TCPClient.exe发送的请求。再创建一个发送端口订阅来自相应接收端口传过来的数据。并该消息发送到TCPServer.exe。具体的配置过 程可以参考用户手册。
单向请求
1.接收端口配置
2.TCP接收适配器属性配置
3.发送端口配置
4.TCP发送适配器属性配置
5.结果
双向请求
配置步骤与单向的基本一致,只是在创建端口时选择双向的端口类型即可。
1.TCPServer的配置
2.请求与结果
在TCP适配器配置中所使用的[S],[E]是接收适配器识别的起止符,不能修改。而[start],[end]为返回数据的起止符可以修改。另外TCP/IP适配器还支持双工访问。