Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx

上传人:hs****ma 文档编号:549155135 上传时间:2023-01-03 格式:DOCX 页数:33 大小:1.43MB
返回 下载 相关 举报
Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx_第1页
第1页 / 共33页
Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx_第2页
第2页 / 共33页
Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx_第3页
第3页 / 共33页
Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx_第4页
第4页 / 共33页
Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx》由会员分享,可在线阅读,更多相关《Biztalk中使用SQL适配器获取数据并用web服务发布的例子.docx(33页珍藏版)》请在金锄头文库上搜索。

1、Biztalk中使用SQL适配器获取数据并用web服务发布的例子一.任务描述二.任务步骤1.建数据库表2.建立相应的存储过程3.新建空biztalk项目4.sql适配器向导生成端口类型和消息架构5.修改存储过程6.修改向导生成文件、端口、消息的名称6.1.修改业务流程命名6.2.修改架构文件名和类型名6.3.修改消息类型命名6.4.修改端口类型命名7.添加端口7.1.添加跟sql server接口的端口7.2.添加暴露为web services的端口8.新建英文字段的xsd架构9.添加消息9.1.请求数据消息9.2.返回数据消息9.3.转换为英文字段的消息9.4.转成XmlDocument的消

2、息10.添加业务流程图中的处理流程10.1.添加接收图形10.2.添加其他接收发送图形10.3.连接图形和端口10.4.消息架构映射10.5.消息转换10.6.添加发送端口11.生成、部署项目11.1.生成强名称密钥文件11.2.设置biztalk项目属性11.3.生成部署项目12.生成web services13.配置biztalk应用程序14.运行biztalk应用程序三.测试biztalk的项目1.新建winform项目2.引用web services3.添加代码4.运行测试一.任务描述做一个简单的例子,主要用到biztalk的sql适配器来从sql services中获取数据,然后通过

3、web services发布出去。基本应用场景是,客户端引用发布的web services,生成代理类和相关方法,调用某个带参数方法,参数传送到web services,web services获得需要调用的web方法和参数,将他们再发送到biztalk,biztalk相关端口接收到参数送入业务流程,在流程中将参数送到biztalk的sql适配器对应的端口,通过sql适配器将参数送到sql server,sql server返回根据传入参数查询获得的结果返回到业务流程,结果又通过web services返回到发出请求的客户端。此过程中还涉及到架构映射,假设数据库表的字段名是中文的,为了对外一致

4、提供英文的字段名,在流程中增加一个架构映射步骤,将中文字段名映射为英文字段名。二.任务步骤1.建数据库表这里的场景假设是从一个数据表中根据输入条件来返回符合条件的数据表,先建立一个例子的数据表,假设在本地sql server的zyzh数据库中建立一个有下列字段的数据表iecms,数据类型都是varchar(255),做本试验可以只建使用到的四个字段(经营者代码,经营者中文名称,法人或负责人,工商登记号即可)2.建立相应的存储过程建立查询存储过程GetListIecmsSP,设定四个字段作为查询条件,返回符合条件的数据表如下:ALTER PROCEDUREdbo.GetListIecmsSP(j

5、ingyingzhedaimavarchar(255) =,jingyingzhezhongwenmingchengvarchar(255) =,farenhuofuzerenvarchar(255) =,gongshangdengjihaovarchar(255) =)ASdeclaresqlas varchar(1000)setsql =select经营者代码,经营者中文名称,法人或负责人,工商登记号from iecms where经营者代码like %+ jingyingzhedaima +%setsql = sql + and经营者中文名称like %+ jingyingzhezhon

6、gwenmingcheng +%setsql = sql + and法人或负责人like %+ farenhuofuzeren +%setsql = sql + and工商登记号like %+ gongshangdengjihao +%setsql = sql + for xml auto,xmldataexec(sql)RETURN注意:这里的SQL的语句的最后加了“for xml auto”,这表示将返回的数据表转换成xml格式后输出,biztalk内部的消息传送都是xml的格式。这个功能需要sql server的支持xmlsql,sql server 2000和sql server 20

7、05都支持xmlsql功能。“,xmldata”这部分,表示在输出xml的结果之前,自动生成一个此xml对应的xsd的架构,这里使用xmldata是因为biztalk的sql适配器向导需要sql返回的架构来生成xsd架构文件。一旦使用sql适配器向导生成了端口类型和消息架构,需要将“,xmldata”这部分删除,实际获取数据时不需要附带有架构部分的内容。3.新建空biztalk项目如图所示,新建一个空biztalk项目,同时创建解决方案的目录ZYZH_Solution,把biztalk项目至于解决方案之下,以便以后增加项目(本文后面会增加一个winform的测试项目,用以测试这个biztalk

8、项目)。4.sql适配器向导生成端口类型和消息架构新建项目后,在解决方案资源管理器中就会有个“zyzh_biztalk_project”的biztalk的空项目,运行sql适配器向导:在biztalk项目上点击右键,选“添加添加生成的项”,弹出以下对话框选择“添加适配器元数据”,点“添加”按钮。在已注册的适配器中选择SQL的适配器(还可能有别的适配器),sql server和数据库指的是biztalk的配置数据库的位置,缺省指向本机biztalk的配置数据库,不用去改,下一步。点击“设置”按钮,指定要访问的数据库的连接串,在此指定zyzh数据库,由于数据库在本机,选择windows认证。生成的

9、连接串如上图所示。下一步这里要指定向导生成的消息架构文件的目标命名空间(targetnamespace),简单的说,目标命名空间是使用这个架构生成的xml实例所需要指定的命名空间,如果xml实例指定的命名空间跟架构文件的目标命名空间不一致,则表示此xml实例不是这个架构文件所定义的。每个xsd架构需要有跟其他xsd架构不同的、唯一的目标命名空间。端口类型选择发送类型,因为biztalk用这个端口向sql server发送数据请求,然后接收sql server返回的数据。请求文档根元素名称:指定发送到sql server请求数据的xsd架构根元素名相应文档根元素名称:指定sql server返回

10、数据的xsd架构根元素名。点击“下一步”。本例中采用存储过程,选“存储过程”,点击“下一步”这里指定前面写的那个存储过程,在“参数值”中显示的是这个存储过程使用的参数,在此可以输入一些参数的模拟值,sql适配器向导使用这些模拟值在生成的xsd架构文件中加入一个注释节点,说明此存储过程的调用格式,没有实际意义。点击“生成”按钮,生成相应脚本。点击“下一步”完成。完成sql适配器向导,此向导会在biztalk项目中添加两个文件:一个空的业务流程文件和一个xsd架构文件,还有生成了一个端口类型(请求相应,跟sql server适配器对接交换数据的端口)和两个消息类型(一个请求消息类型,一个返回数据的

11、消息类型)5.修改存储过程将存储过程中那个“,xmldata”部分删除,然后保存存储过程。因为实际获取数据的过程是不需要sql server输出架构信息的。6.修改向导生成文件、端口、消息的名称Biztalk项目中端口、消息等等比较多又复杂,如果都是用向导自动生成的名称很不清晰,容易造成混乱,一般需要开发者自己定义一套命名规则来理顺命名。6.1.修改业务流程命名按照以下规则命名:业务流程odx文件的命名:存储过程名+“_Flow”,同时把业务流程的类型名也改成此名。在解决方案资源管理器中将“BizTalk业务流程.odx”改为“GetListIecmsSP_Flow.odx”.双击“BizTa

12、lk业务流程.odx”,会打开此空业务流程,同时在开发环境右边(跟解决方案资源管理器一起的位置)会出现一个“业务流程视图”面板,改类型名:如图选中“业务流程属性”,然后点击下方“属性”标签,在属性面板里把此业务流程的“类型名”也改为“GetListIecmsSP_Flow”。6.2.修改架构文件名和类型名按照以下规则命名:存储过程名+“_Sch”,同时把schema的类型名也改成此名。在解决方案资源管理器中将向导生成的xsd文件名改为“GetListIecmsSP_Sch.xsd”。然后选中“GetListIecmsSP_Sch.xsd”文件,点击下面的属性标签,在属性面板里把xsd文件的类型

13、名改为:GetListIecmsSP_Sch6.3.修改消息类型命名按以下规则命名:请求部分的消息类型:存储过程名+“_RequestMsgType”返回部分的消息类型:存储过程名+“_ResponseMsgType”本项目有两个消息类型,一个请求的,一个返回的。在“业务流程视图”面板上展开“多部分消息类型”,可以看到这两个有sql适配器向导生成的消息类型,分别将它们改名为:procedureRequestGetListIecmsSP_RequestMsgTypeprocedureResponseGetListIecmsSP_ResponseMsgType这时会发现,这两个消息类型下的para

14、meters前面都会多了个红色惊叹号,这是因为parameters表示多部分消息中的一个消息,应该对应一个.net类或者架构,前面我们修改了xsd的类型名,原来parameters指向xsd的类型也发生了变化,我们把它修改过来。选中GetListIecmsSP_RequestMsgType下的parameters,点击属性标签,在属性面板中,点击类型旁边的下拉列表,在架构中选择“zyzh_biztalk_project.GetListIecmsSP_Sch.GetListIecmsSP_RequestRoot”,就是修改后的xsd架构中的请求根元素。同样,修改GetListIecmsSP_ResponseMsgType下parameters的类型为“zyzh_biztalk_project.GetListIecmsSP_Sch.GetListIecmsSP_ResponseR

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号