• BizTalk动手实验(十二)WCFOracle适配器使用


    BizTalk培训/项目开发/技术支持需求欢迎随时联系:Email:cbcye@live.com ,手机/微信:18511575973

     

    更多内容请查看:BizTalk动手实验系列目录

                          BizTalk 开发系列

    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;

  • 相关阅读:
    暑假第一周进度总结
    学习记录(Python字典)
    学习记录(Python元组)
    学习记录(完成实验一二安装Scala)
    学习记录(安装Sbt)
    学习记录(安装spark)
    学习记录(Python列表)
    学习记录(Python循环结构)
    学习记录(Python选择结构)
    学习记录(Python算数运算符与if语句)
  • 原文地址:https://www.cnblogs.com/cbcye/p/2922130.html
Copyright © 2020-2023  润新知