【IT168 技术文档】
Biztalk Server 2004与Web Services有如下几种交互形式:
1.在Biztalk Server中调用Web Services;
2.将Biztalk Server的架构发布为Web Services;
3.将Biztalk Server的业务流程发布为Web Services;
在Biztalk 开发之 架构的发布一文中,我们讨论了第二种形式。在本文中,具体介绍如何在Biztalk Server中调用Web Services。
在Biztalk Server中调用Web Services,典型的应用包括四类消息:
A.导入消息——从接收管道接收的外部应用传到Biztalk Server中的消息;
B.请求消息——从Biztalk Server中向Web Services请求的消息;
C.回应消息——从Web Services返回给Biztalk Server的消息;
D.输出消息——从Biztalk Server输出到外部应用的消息。
在Biztalk Server中,每个消息都有自己的消息类型。其中的消息B和C的消息类型,是由Biztalk Server自动生成的。具体来说,是在将Web Services添加到Biztalk Server项目的Web引用时生成的;而消息A和D的消息类型是由导入和输出的消息内容来决定的。
在具体应用时,导入消息可能和输出消息的结构相同,只是导入消息的某些字段为空,通过调用Web Services后,将这些字段补充完整,然后向外输出。通常在Biztalk Server调用Web Services需要完成如下任务:
一、创建一个Web Service
二、创建一个Biztalk Server项目并添加Web引用
三、创建一个用于定义导入和输出消息类型的架构
四、创建业务流程
五、编译、布署和测试
下面来看具体步骤:
一、创建一个Web Service
1. 在C:\Inetpub\wwwroot下创建一个TestService.asmx文件,其源程序如下:
<%...@ WebService Language="c#" class="TestService" %>
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Web; using System.Web.Services; public class TestService : System.Web.Services.WebService ...{ [WebMethod] public string CheckUserId(string strUserId) ...{ if (strUserId == "fengfangfang") ...{ return "Administrator"; } else ...{ return "User"; } } }
2. 在浏览器中,输入http://localhost/TestService.asmx,对Web Service进行测试。
二、创建一个Biztalk Server项目
3. 打开Visual Studio .Net 2003,创建一个新项目,选择项目类型为BizTalk项目,模板为空的BizTalk Server项目,输入名称为WebServices1。
4. 在解决方案资源管理器中为WebServices1项目添加Web References,其URL为http://localhost/TestService.asmx。
三、创建一个用于定义导入和输出消息类型的架构
5. 为WebServices1项目添加新项,选择架构,输入名称为UserInfo.xsd。
6. 为Root重命名为UserInfo,并为其添加两个子字段元素,其名称分别为UserId和RoleName。
7. 选择UserId元素,单击右键选择升级\快速升级;按同样的方法对RoleName进行升级。
说明:由于后面要使用UserId做为参数向Web Service传递,在Web Service返回消息后还需要对RoleName进行更新,因此需要将这两个元素进行升级,这样在业务流程中才能访问和设置它们的值。