Web Service学习笔记(3)
WebService特性(不要把它与WebMethod混淆)允许向Web Service添加额外的信息。语法:[WebService(PropertyName=value)],如果有多个属性,可以使用逗号分隔。下面是它的一些属性:
Description:描述Web Service
Name:当在浏览器中测试页面时,在Web Service帮助页面的最顶部会显示Web Service的名称,且对所有潜在的Web Service使用者可用。默认情况下,Web Service的名称是实现Web Service的类的名称。
Namespace:每个Web Service都有一个XML命名空间。XML命名空间允许你在XML文档中创建名称,这个名称是一个统一资源标识符(URI)。Web Service使用在XML中定义的WSDL文档描述。每个WebService特性必须有一个独立的XML命名空间,这样它才能够为应用程序唯一识别。vs创建的Web Service的默认URI为http://tempuri.org。通常使用唯一的名称来定义一个新的命名空间,例如公司的网站。(这个可以不是一个有效的URL)。
数据类型
Web Service可以使用任何CLR支持的数据类型作为参数或者返回值。除了基本数据类型以为,还可以使用数组和基本类型的ArrayList。由于数据是通过XML在Web Service和客户端之间传递的,那么无论使用参数或返回值,都必须使用XML Schema或者XSD表示。
类和结构体:Web Service能够把用户定义的类和结构体作为参数或者返回值,这里有一些需要记住的规则:1。所有类变量必须是基本数据类型或者基本数据类型的数组;2。所有类变量必须是公开的或者有一个公开的实现get和set访问器的属性
DataSets:Web Service能够通过XML编码后返回任何数据,这也包括返回DataSet,这是因为ADO.NET内部使用XML来表示DataSet。一个DataSet仅是ADO.NET数据存储中的一种可以由Web Service返回的类型而已。
创建发现文档
一旦创建完成Web Service,负责开发Web Service使用程序的开发人员需要找到一种方法,从而能够了解服务器上有哪些Web Service可用,这些Web Service提供了哪些方法,这些方法和属性可接收哪些参数,以及这些Web 方法返回的值是什么。这个过程叫发现,是可选的。如果Web Service使用程序的开发者了解这些Web Service文件的URL,那么就不需要实施发现动作了。可以使用disco.exe在命令行方式下创建XML文件(即发现文档)。
打开vs命名提示符(注意不是在运行里输入cmd出来的那个命令提示符)
输入:disco /out:<输出目录名称> http://localhost:7953/Service1.asmx
通过以下两种方法发现发现文档:
1。通过查询字符串实现发现,即在service.asmx文件后加上?disco,如http://localhost:7953/Service1.asmx?disco
2。静态发现文件。如果Web Service得使用程序需要使用静态发现文件,那么Web Service开发人员必须创建一个静态发现文件。
发现是一个过程,它是用来寻找那些Web Service可用、Web Service提供了哪些方法和属性、方法和那些参数和属性,已经web方法返回的数据类型和属性。它是一个可选过程。
为了实现在客户端机器上,从命令行执行disco工具,并把Web Service的URL作为参数传递给它,如disco http://localhost:7953/Service1.asmx,这个命令将搜索指定URL来寻找一个发现文档,并把它们保存在本地计算机的当前目录。还有一个.wsdl文件也将在当前目录生成并保存。
也可以使用/out:参数将输出目录改为指定的目录。如:disco /out:C:/Temp/ http://localhost:7953/Service1.asmx,执行该命令会把两个文件生成到输出目录的Service1.wsdl文件中,这个文件与通过在浏览器中输入.asmx?wsdl或者使用wsdl命令生成的wsdl是相同的。
下面是disco命令的参数说明
/d[omain]:domain 指定连接到要求身份验证的代理服务器时要使用的域名。
/nosave 不要将发现的文档或结果(.wsdl、.xsd、.disco 和 .discomap 文件)保存到磁盘中。默认为保存这些文档。
/nologo 取消显示 Microsoft 启动标题。
/o[ut]:directoryName
相关新闻>>
- 发表评论
-
- 最新评论 更多>>