通过本课程熟悉WCF-Oracle适配器的的使用
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 )
注:创建BizTalk项目过程请参见:《BizTalk开发综合实验》
1. 右击项目,添加生成项
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. 生成并部署项目
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" />
1. 右击BizTalk管理控制台的应用程序,右键选择导入Binding
2. 选择项目文件夹下的WcfSendPort_SqlAdapterBinding_Custom.bindinginfo.xml
3. BizTalk将自动生成发送端口
4. 需要在在发送端口中重新配置数据库用户名和密码
5. 配置发送端口的发送管道为PromotePipeline
6. 在发送端口的配置文件中配置订阅条件,即接收端口名称为WCF-BasicHttp发布向导生成的接收端口名称:
7. 为便于测试,将发送端口传输选项的重试次数和间隔时间设为0
11. 在绑定属性中配置轮询命令为:select * from contacts , 同时设置“UseAmbientTransaction”为False,“EnableBizTalkCompatibilityMode”为True
8. 新建发送到File类型的发送端口,订阅Oracle的轮询数据
9. 启动轮询接收端口在文件发送文件夹将自动会有相应的文件
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; |