您的位置:首页 > 理论基础 > 计算机网络

BizTalk动手实验(七)WCF-SQL与WCF-BasicHTTP适配器使用

2011-12-19 11:33 856 查看
更多内容请查看:BizTalk动手实验系列目录

BizTalk 开发系列

1 课程简介

通过本课程熟悉WCF-SQL与WCF-BasicHTTP适配器的的使用

2 准备工作

1. 新建BizTalk空项目

2. 配置BizTalk项目的应用程序名称及程序签名。

3 演示

3.1 生成数据库表相应操作的Schema

1. 右击项目,添加生成项

2. 点击Consume Adapter Service





3. 绑定类型中选择sqlBinding, 在配置URI的URI属性中输入数据库信息





4. 点击连接按钮

5. Select contract type选择Client(Outbound Operations), 在category的Tables中选择 contacts,在操作中选择Insert和Select





6. 生成向导会生成相应的Schema文件及绑定文件





7. 生成并部署项目

3.2 发布Schema为WCF-BasicHttp服务

1. 点击Visual Studio 工具菜单中的BizTalk WCF Service 发布向导。





2. 点击下一步





3. 在传输类型中选择WCF-BasicHttp,并选择在刚才部署的BizTalk应用程序中创建接收端口





4. 在创建依法中选择发布Schema为WCF服务





5. 创建Select跟Insert方法





6. 右击方法相应的请求与输出参数,选择Schema类型





7. 根据命令空间选择相应的Schema





8. 配置好相应的操作与参数类型





16. 输入相应的命名空间





9. 输入URL地址,启用匿名访问





10. 确认配置并点击创建





11. 创建完成





12. BizTalk应用程序中会有相应的接收端口被创建





13. 打开IIS 7 管理器,新建应用程序池BTSAppPool,将运行账户改为Administrator





14. 修改WCF-SQLDemo应用程序的运行池为BTSAppPool

15. 修改Web应用的Web.config(默认文件夹位置为:C:\inetpub\wwwroot\WCF-SQLDemo),开启通过http get 的方式获取服务的WSDL

<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />

3.3 配置WCF-SQL发送端口

1. 右击BizTalk管理控制台的应用程序,右键选择导入Binding





2. 选择项目文件夹下的WcfSendPort_SqlAdapterBinding_Custom.bindinginfo.xml

3. BizTalk将自动生成发送端口





4. 在发送端口的配置文件中配置订阅条件,即接收端口名称为WCF-BasicHttp发布向导生成的接收端口名称:





3.4 测试服务

启动WCF-SQL应用程序

开启soapUI,新创建项目,在WCFSQLServices.svc访问地址后面加上 ?wsdl ,即可得到WSDL





修改WCF-SQL适配器的SOAP Action Header的Action为TableOp/Select/dbo/contacts 进行Select的操作,验证返回的数据是否正确





修改WCF-SQL适配器的SOAP Action Header的Action为TableOp/Insert/dbo/contacts 进行Insert的操作,验证数据库中是否有相应的值插入。由于ID为自增长字段,请删除请求消息中的ID字段。





3.5 使用存储过程

1. 如3.1所示,在操作类别中选择存储过程





2. 部署网站

3. 如3.2所示发布该Schema为Web Service服务

http://localhost/ContectsServices

4. 修改Web应用的应用程序运行池

5. 确认Operation是否与WCF-SQL适配器SOAP Action Map中的Action Map对应。

6. 使用soapUI时行测试





3.6 自定义配置WCF-BasicHttp及WCF-SQL适配器

已完成3.2的步骤

在BizTalk项目中添加”生成项目”

生成类型中选择适配器类型





配置SQL URI,输入相应的服务器名称、数据库及标识

在绑定属性的Polling配置项的

PolledDataAvailableStatement(轮询条件)属性值 为select count(*) from contacts where status =1

PollingIntervalInSecond (轮询间隔)属性值为5

PollingStatement (轮询命令)属性值为 select top 1 * from contacts where status =1





在协议类别中选择Inbound操作,在可用的操作中选择TypedPolling





注: Polling是轮询方式,但是这种方式是不带架构的,TypedPolling也是轮询方式,这种方式可以带出架构。Notification是用于数据有变化时进行相关操作

打开BizTalk控制台,在相应的BizTalk应用程序中新建“请求和发送”接收端口及接收位置

在接收位置配置中适配器选择WCF-BasicHttp,点击适配器的配置按钮

在地址中输入发布的WebService路径及文件即可









接收管道选择XMLReceive,发布管道选择PassThruTransmit





点击确认完成接收端口的配置

新建“请求-回复”发送端口





在适配器类型中选择WCF-SQL

点击适配器的配置按钮,在URI配置中输入相应的服务器及数据库信息





SOAP Action Header的Action可以从生成的Schema的Action申明中中获得





11. 接收和发送管道选择XMLReceive和XMLTransmit





在发送管道在配置消息订阅,订阅的条件为“接收端口的名称”=“之前创建的WCF-BasicHttp的名称”,如下:





确认启动BizTalk应用程序并重启BizTalk实例,进行测试。

测试时通过使用不同的SOAP Action Map来进行

3.7 轮询数据

新建单向接收端口有及接收位置,在适配器类型中选择WCF-SQL,点击适配器配置

在WCF-SQL适配器的URI中输入服务器、数据库、实例及Inbound标识





在Binding的配置界面Polling(InBound)类别的PolledDataAvailableStatement(轮询条件)的属性设置为

Select count(id) from contacts where status=1

将PolledStatement(轮询命令)的属性设置为

Select * from contacts where status=1

将PollingIntervalInSeconds(轮询间隔)设置为5秒,PollWhileDataFound(指定是在存储过程或查询未返回任何结果后才提交其他批,还是在每个轮询间隔提交一个存储过程结果或查询结果)默认为False.





将管道类型选择为XMLRecevie.

点击确认,完成创建接收端口确认.

创建单向文件发送端口并设置订阅条件为“接收端口名称”=“新创建的接收端口名称”

启动应用程序,测试订阅的发送端口是否有消息输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: