首页 > 代码库 > BizTalk动手实验(十二)WCF-Oracle适配器使用

BizTalk动手实验(十二)WCF-Oracle适配器使用

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

clip_image001

2. 绑定类型中选择sqlBinding

clip_image003

3. 在适配器属性配置的安全选项中输入账户信息

clip_image005

4. URI属性中输入服务器地址及数据库名称

clip_image007

5. 在绑定窗口中将“UseAmbientTransaction”选项置为False,“EnableBizTalkCompatibilityMode”置为True

6. 点击OK保存

7. 点击连接按钮

8. Select contract type选择Client(Outbound Operations), 在category的Tables中选择 contacts,在操作中选择Insert、 Select、Update和Delete。

clip_image009

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

clip_image011

10. 生成并部署项目

3.3 发布Schema为WCF-BasicHttp服务

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

clip_image012[14]

2. 点击下一步

clip_image013

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

clip_image015

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

clip_image016[14]

5. 创建Select跟Insert方法

clip_image017

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

clip_image019

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

clip_image021

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

输入相应的命名空间

clip_image023

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

clip_image025[50]

10. 确认配置并点击创建

clip_image027

11. 创建完成

clip_image029

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

clip_image031

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

clip_image032

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

clip_image033

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

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

clip_image035

4. 需要在在发送端口中重新配置数据库用户名和密码

clip_image037

5. 配置发送端口的发送管道为PromotePipeline

clip_image039

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

clip_image041

7. 为便于测试,将发送端口传输选项的重试次数和间隔时间设为0

clip_image043

3.5 测试服务

  1. 启动WCFOracleDemo应用程序
  2. 开启soapUI,新创建项目,在BTSOracleWCF.svc访问地址后面加上 ?wsdl ,即可得到WSDL

clip_image045

  1. 编辑相应的Insert、Select、Update数据,并请求。将接收到相应的返回数据。

clip_image047

  1. 使用SQL Developer 查询数据

clip_image049

3.6 轮询Oracle数据库

  1. 在BizTalk中右键选择生成项目

clip_image051

  1. 使用适配器服务

clip_image053

  1. 在适配器服务配置中点击配置,在连接配置中输入用户和密码,在URI属性中的轮询标识中输入唯一的数字标识

clip_image055

11. 在绑定属性中配置轮询命令为:select * from contacts , 同时设置“UseAmbientTransaction”为False,“EnableBizTalkCompatibilityMode”为True

clip_image057

  1. 点击OK保存,点击Connect连接到Oracle数据库。
  2. 在contract type中选择Service(Inbound Service),同时点击“/”根节点,在右侧可用的类别与操作中选择POLLINGSTMG。

clip_image059

  1. 点击OK保存,系统将会生成相应的轮询架构与绑定

clip_image061

  1. 在BizTalk管理控制台的应用程序中将生成的绑定导入到应用程序中,系统将会自动配置接收端口

clip_image063

8. 新建发送到File类型的发送端口,订阅Oracle的轮询数据

clip_image065

9. 启动轮询接收端口在文件发送文件夹将自动会有相应的文件

clip_image067

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;

BizTalk动手实验(十二)WCF-Oracle适配器使用