WebService 的一些基本概念-3 (Target namespace,WSDL 和总结)

来源:互联网 发布:淘宝店可以上聚划算吗 编辑:程序博客网 时间:2024/05/16 00:53

Target Namespace

上面2篇中的例子看到,在web service中,无论是operation 名,还是port type的名字,都用了同一个namespace.
默认情况下,一个web service使用单一namespace来命名各种对象。这个namespace,称为web service 的Target Namespace
image

Namespace 的命名必须是URI (Uniform Resource Identifer), 而URI有分2种类型.
Web servie 中的target namespace, 使用两种URI都可以。

URL http://blog.csdn.net/dragondwy URN

urn:<some-object-type>:<someobject-id>
sample: urn:isbn:1-23-456789-0

 

WSDL

上面图中的内容已经充分的描述出一个web service 设计。那么这中描述Web service的语言,就叫做WSDL(Web Services Description Language)

 

总结

Web service 是平台无关的,语言无关的,可以通过internet访问。
一个 Web service 具有一个或多个ports.每个port 是指部署在某个网络地址上的一个binding.
这个网络地址叫做endpoint. 一个binding是指某个port type使用的特有信息格式和特有的传输协议的结合。
一个port type可以包含一个或多个operations. 每个operation 可以有输入信息(方法调用和输入参数)和输出信息(返回值)。
每个信息包含一个或多个parts. 每个part都是一个在web service的schema中定义好的element。
所有内容通过WSDL描述。

如果要调用以讹RPC 类型的web service, 需要创建XML element, 其中包含operation 名字,所有输入信息(part)的element.等内容。
而调用document 类型的web service,只需要发送一个 输入信息part 的内容即可。
因为RPC类型 web service中的XML element没定义在任何schema中,因此没有校验机制。
所以document 类型的web service是主流,为了更好地协作性考虑,应该使用这种类型。

web service,每个ports,bindings, port types, operations 都有一个QName作为唯一标识符。
一个QName包含 local part和 XML namespace两部分。
一个XML namespace是一个全局唯一URI.
默认情况下,web service中所有这些对象的命名都是用单一的Target namespace.

URI有两种类型:URL URN.
URN 具有这样的格式     urn:<NID>:<NSS>.
XML namespace可以任意使用URL和URN格式,他们的区别是,URL 往往表示某个对象的位置,而URN就是一个纯粹的对象标志符号。
You can use either as an XML namespace. The only
difference is that a URL is suggesting that it is the location of an object, while a
URN is purely an id of the object.



连抄带写在翻译,终于把webservice这些基本概念写完了。有了这些基础认识,在设计开发过程中会有帮助。
一天写了3篇,累坏了。下盘棋休息休息。   (有时间在弄点实际应用出来, 下星期吧。).

原创粉丝点击