zoukankan      html  css  js  c++  java
  • BizTalk动手实验(七)WCFSQL与WCFBasicHTTP适配器使用

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

                          BizTalk 开发系列

    1 课程简介

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

    2 准备工作

    1. 新建BizTalk空项目

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

    3 演示

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

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

    2. 点击Consume Adapter Service

    clip_image001

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

    clip_image002

    4. 点击连接按钮

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

    clip_image004

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

    clip_image005

    7. 生成并部署项目

    3.2 发布Schema为WCF-BasicHttp服务

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

    clip_image006

    2. 点击下一步

    clip_image007

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

    clip_image008

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

    clip_image009

    5. 创建Select跟Insert方法

    clip_image010

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

    clip_image011

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

    clip_image012

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

    clip_image013

    16. 输入相应的命名空间

    clip_image014

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

    clip_image015

    10. 确认配置并点击创建

    clip_image016

    11. 创建完成

    clip_image017

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

    clip_image018

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

    clip_image019

    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

    clip_image020

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

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

    clip_image021

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

    clip_image023

    3.4 测试服务

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

    clip_image024

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

    clip_image026

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

    clip_image028

    3.5 使用存储过程

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

    clip_image030

    2. 部署网站

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

    http://localhost/ContectsServices

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

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

    6. 使用soapUI时行测试

    clip_image032

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

      1. 已完成3.2的步骤
      2. 在BizTalk项目中添加”生成项目”
      3. 生成类型中选择适配器类型

    clip_image033

      1. 配置SQL URI,输入相应的服务器名称、数据库及标识
      2. 在绑定属性的Polling配置项的

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

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

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

    clip_image034

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

    clip_image036

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

      1. 打开BizTalk控制台,在相应的BizTalk应用程序中新建“请求和发送”接收端口及接收位置
      2. 在接收位置配置中适配器选择WCF-BasicHttp,点击适配器的配置按钮
      3. 在地址中输入发布的WebService路径及文件即可

    clip_image037

    clip_image038

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

    clip_image040

      1. 点击确认完成接收端口的配置
      2. 新建“请求-回复”发送端口

    clip_image041

      1. 在适配器类型中选择WCF-SQL
      2. 点击适配器的配置按钮,在URI配置中输入相应的服务器及数据库信息

    clip_image042

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

    clip_image043

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

    clip_image045

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

    clip_image047

    1. 确认启动BizTalk应用程序并重启BizTalk实例,进行测试。
    2. 测试时通过使用不同的SOAP Action Map来进行

    3.7 轮询数据

      1. 新建单向接收端口有及接收位置,在适配器类型中选择WCF-SQL,点击适配器配置
      2. 在WCF-SQL适配器的URI中输入服务器、数据库、实例及Inbound标识

    clip_image048

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

    Select count(id) from contacts where status=1

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

    Select * from contacts where status=1

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

    clip_image049

    1. 将管道类型选择为XMLRecevie.
    2. 点击确认,完成创建接收端口确认.
    3. 创建单向文件发送端口并设置订阅条件为“接收端口名称”=“新创建的接收端口名称”
    4. 启动应用程序,测试订阅的发送端口是否有消息输出
  • 相关阅读:
    PwnAuth——一个可以揭露OAuth滥用的利器
    Facebook 被指收集用户数据:通过照片和文本
    avast:中兴手机预装恶意软件 嵌入固件底层
    数字货币钱包安全白皮书
    CVE-2017-8464远程命令执行漏洞(震网漏洞)复现
    南非再曝数据库泄露事件:致百万人信息大白
    华盛顿邮报:FBI 屡次夸大了“手机加密威胁”的数字
    工业互联网联盟发布新物联网安全成熟度模型
    深入剖析最新IE0day漏洞
    联储证券被曝存在多项信息安全漏洞
  • 原文地址:https://www.cnblogs.com/cbcye/p/2293087.html
Copyright © 2011-2022 走看看