1 课程简介
通过本课程熟悉WCF-Oracle适配器的的使用
2 准备工作
1. 新建BizTalk空项目
2. 配置BizTalk项目的应用程序名称及程序签名。
3. Oracle数据库
( Oracle Database Expression http://www.oracle.com/technetwork/products/express-edition/downloads/index.html )
4. Oracle SQL developer (http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html )
5. BizTalk WCF Operation Promote Pipeline Component ( http://btsoperationpromote.codeplex.com )
3 演示
3.1 生成数据库表相应操作的Schema
注:创建BizTalk项目过程请参见:《BizTalk开发综合实验》
1. 右击项目,添加生成项
3.2 点击Consume Adapter Service
2. 绑定类型中选择sqlBinding
3. 在适配器属性配置的安全选项中输入账户信息
4. URI属性中输入服务器地址及数据库名称
5. 在绑定窗口中将“UseAmbientTransaction”选项置为False,“EnableBizTalkCompatibilityMode”置为True
6. 点击OK保存
7. 点击连接按钮
8. Select contract type选择Client(Outbound Operations), 在category的Tables中选择 contacts,在操作中选择Insert、 Select、Update和Delete。
9. 生成向导会生成相应的Schema文件及绑定文件
10. 生成并部署项目
3.3 发布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. 配置好相应的操作与参数类型
输入相应的命名空间
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.4 配置WCF-SQL发送端口
1. 右击BizTalk管理控制台的应用程序,右键选择导入Binding
2. 选择项目文件夹下的WcfSendPort_SqlAdapterBinding_Custom.bindinginfo.xml
3. BizTalk将自动生成发送端口
4. 需要在在发送端口中重新配置数据库用户名和密码
5. 配置发送端口的发送管道为PromotePipeline
6. 在发送端口的配置文件中配置订阅条件,即接收端口名称为WCF-BasicHttp发布向导生成的接收端口名称:
7. 为便于测试,将发送端口传输选项的重试次数和间隔时间设为0
3.5 测试服务
- 启动WCFOracleDemo应用程序
- 开启soapUI,新创建项目,在BTSOracleWCF.svc访问地址后面加上 ?wsdl ,即可得到WSDL
- 编辑相应的Insert、Select、Update数据,并请求。将接收到相应的返回数据。
- 使用SQL Developer 查询数据
3.6 轮询Oracle数据库
- 在BizTalk中右键选择生成项目
- 使用适配器服务
- 在适配器服务配置中点击配置,在连接配置中输入用户和密码,在URI属性中的轮询标识中输入唯一的数字标识
11. 在绑定属性中配置轮询命令为:select * from contacts , 同时设置“UseAmbientTransaction”为False,“EnableBizTalkCompatibilityMode”为True
- 点击OK保存,点击Connect连接到Oracle数据库。
- 在contract type中选择Service(Inbound Service),同时点击“/”根节点,在右侧可用的类别与操作中选择POLLINGSTMG。
- 点击OK保存,系统将会生成相应的轮询架构与绑定
- 在BizTalk管理控制台的应用程序中将生成的绑定导入到应用程序中,系统将会自动配置接收端口
8. 新建发送到File类型的发送端口,订阅Oracle的轮询数据
9. 启动轮询接收端口在文件发送文件夹将自动会有相应的文件
3.7 Oracle数据库脚本参考
CREATE TABLE CONTACTS ( ID NUMBER(*, 0) NOT NULL , NAME VARCHAR2(20 BYTE) NOT NULL , PHONE VARCHAR2(20 BYTE) , EMAIL VARCHAR2(100 BYTE) , IM VARCHAR2(100 BYTE) , ADDRESS VARCHAR2(200 BYTE) , CONSTRAINT CONTACTS_PK PRIMARY KEY ( ID ) ENABLE ) create or replace PROCEDURE ADDCONTACT ( PARAM0 IN NUMBER , PARAM1 IN VARCHAR2 , PARAM2 IN VARCHAR2 , PARAM3 IN VARCHAR2 , PARAM4 IN VARCHAR2 , PARAM5 IN VARCHAR2 ) AS BEGIN Insert Into CONTACTS(ID,NAME,PHONE,EMAIL,IM,ADDRESS) Values(PARAM0,PARAM1,PARAM2,PARAM3,PARAM4,PARAM5); END ADDCONTACT; |