zoukankan      html  css  js  c++  java
  • BizTalk使用SQL适配器获取数据(下)部署解决方案

    1.      生成、部署项目

    Biztalk的项目需要编译为强名称的程序集,才能部署到biztalk服务器上,biztalk项目部署到服务器上表现为一个biztalk的应用程序。

    1.1.     生成强名称密钥文件

    在“microsoft visual studio 2005程序组里,选“visual studio tools”--“visual studio 2005 command promte”进入命令行模式。

    导航到biztalk项目所在的文件夹

    输入以下命令:sn k biztalkHighway.snk

    biztalk项目所在的文件夹生成biztalkHighway.snk密钥对文件。

    1.2.     设置biztalk项目属性

    在解决方案资源管理器中,右键点击biztalkHighway项目,选择“属性”

    在属性窗口左边选“通用属性”-“程序集”,右边“强名称”下的“程序集密钥文件”,点击旁边的按钮,找到上一步生成的biztalkHighway.snk密钥对文件,选择。

    在属性窗口左边选“配置属性”-“部署”,右边“biztalk组”下的“应用程序名称”,输入:BizTalkHighway。这个应用程序名称就是部署到biztalk服务器后的应用程序名。

     

    1.3.     生成部署项目

    在解决方案资源管理器中,选中BiztalkHighway项目,鼠标右键,选“生成”。

    在解决方案资源管理器中,选中BiztalkHighway项目,鼠标右键,选“部署”。

    2.      生成web services

    这一步要把上面的biztalk项目中的Web_Port端口暴露为web services,这个工作由biztalk本身提供的biztalk web services发布向导来做。

    biztalk程序组中启动“biztalk web services发布向导”。

    欢迎页面后,向导需要选择是将业务流程发布为web serivces还是将架构发布为web serivces

    这里选择将前面生成的业务流程发布为web services

    点击“下一步”

    选择biztalk程序集,是要指定上面项目编译后的dll文件,在biztalk项目文件夹的bin下找到BizTalkHighway.dll文件,选择。

    点击“下一步”

    选择业务流程端口,这里会列出选择的业务流程中所有的接收端口(因为只有接收端口才能发布为web services,包括单向的接收端口,双向的接收端口),选择需要发布的端口。本项目只有一个可以发布的端口,默认已经被选择。

    默认的一个端口biztalkweb services向导生成一个asmx文件,端口中的一个操作对应一个WebMethod

    一般在业务流程中一个端口包含一个操作,也就是一个接收端口对外暴露为一个WebMethod。大多数情况下,一个web services对外提供多个WebMethod,一般选择“将所有的端口合并到一个web services中”将所有端口都归入到一个asmx文件中,以便在一个web services访问多个WebMethod

    点击“下一步”

    指定web services属性,这里设置web services目标命名空间为:http://tempuri.org/

    其他SOAP选项不用选,本项目不使用附加的SOAP标头

    点击“下一步”

    指定要生成的asp.Net web services的参数,位置指的是web services发布URL,就是别的系统访问此web services的地址,如图设置。

    如果允许匿名访问就选择“允许匿名访问web services”。本项目允许匿名访问

    选择“在以下应用程序中创建biztalk接收位置”,并在下拉列表中选择前面部署的“BizTalkHighway”项目。这个选项实际上是生成web services的物理端口,这个端口等会要跟biztalk项目业务流程中的“Web_port”逻辑端口绑定。

    点击“下一步”,完成向导。

    biztalk web services发布向导在http://localhost/BizTalkHighway%5FProxyWebService/已经生成了一个web services,在浏览器中输入上名的URL,可以看到这个web services

    3.      配置biztalk应用程序

    接下来的任务是要配置biztalk应用程序,新建物理端口,将物理端口和逻辑端口绑定。

    biztalk程序组中,打开“biztalk server 管理”

    biztalk管理界面的左边,如下图找到应用程序中的“BizTalkHighway_project”,这就是之前部署到biztalk server的应用程序。




    在左面的窗口业务流程选择“Orchestration_1”,右边主机在下拉列表中选择“BiztalkServerApplication”。

    绑定部分,就是将逻辑端口跟物理端口进行绑定。

    在输入端口部分,本项目有一个入站逻辑端口“Web_Port”,在对应的接收端口(物理端口)中选择“WebPort_BizTalkHighway_ProxyWebService/WebService_BizTalkHighway”,这个物理端口就是web services向导生成的web services的物理端口。

    在输出部分,是sql适配器的物理端口,需要新建。

    选中出站逻辑端口中“GetListIecms_Port”端口,在右边的下拉列表中选择“新建发送端口”,弹出发送端口对话框。

     

    传输类型选“SQL”,这个端口是sql适配器。点击旁边的“配置”按钮

    连接字符串指向本项目使用的数据库

    文档目标命名空间设为biztalk项目中sql适配器向导生成的那个xsd文件的目标命名空间http://SQLReceive

    响应文档跟元素名称,设为上面xsd文件中响应根元素“GetHighwayData_ResponseRoot

    点击“确定”

    Sql适配器是使用xmlsql访问sql server的,所以

    发送管道选:XMLTransmit

    接收管道选:XMLReceive

    点击确定关闭发送端口窗口,回到配置应用程序窗口,到此应用程序已配置好,点击“确定”。

    4.      运行biztalk应用程序

    biztalk管理界面,在“BizTalkHighway”上点击右键,选“启动(S)

    之后,直接点击“启动”,biztalk开始启动应用程序的过程

    三.测试biztalk的项目

    上面的biztalk项目对外公开了一个web services的方法,下面建一个winform的测试项目来引用这个web services,然后调用它的WebMethod,获得的结果,显示在一个dataGridView中。

    1. 新建winform项目

     

    2. 引用web services

    在解决方案管理器中,在TestHighway项目上点击鼠标右键,选添加web引用,弹出添加web应用对话框,把前面web services向导生成的web servicesURL输入到URL中,点击“前往”按钮


     

    3. 添加代码

    Form1窗体中添加一个dataGridView控件和二个button控件

    单击button1,输入以下事件程序

    ws.WebService_BizTalkHighway myTest = new TestHighway.ws.WebService_BizTalkHighway();
                ws.GetHighwayData_RequestRootProc_GetHighwayData high 
    = new TestHighway.ws.GetHighwayData_RequestRootProc_GetHighwayData();            

                high.WayName 
    = "沈大高速";
                ws.GetHighwayData_RequestRoot myRequest 
    = new TestHighway.ws.GetHighwayData_RequestRoot();           
                myRequest.Proc_GetHighwayData 
    = high;       
          
                System.Xml.XmlNode myNode 
    = myTest.Operation_1(myRequest); 
                DataSet myDataSet 
    = new DataSet();         
                System.IO.StringReader myStringReader 
    = new System.IO.StringReader(myNode.OuterXml);
                XmlReader myXmlReader 
    = XmlReader.Create(myStringReader);
                myDataSet.ReadXml(myXmlReader);
                dataGridView1.DataSource 
    = myDataSet.Tables[0];


     

    4. 运行结果


     

  • 相关阅读:
    php无限极分类
    HDU 1176 免费馅饼 (类似数字三角形的题,很经典,值得仔细理解的dp思维)
    HDU 1158(非常好的锻炼DP思维的题目,非常经典)
    HDU 1165 公式推导题
    HDU 1069 Monkey and Banana(转换成LIS,做法很值得学习)
    HDU 1059(多重背包加二进制优化)
    HDU 1058(打表)
    oracle11g之管理oracle数据库笔记(理论基础知识)
    oracle11g之Oracle体系结构(理论基础知识)
    HDU 1025 LIS二分优化
  • 原文地址:https://www.cnblogs.com/abcdwxc/p/1093668.html
Copyright © 2011-2022 走看看