SOAP Web服务中的命名空间用于什么?
每个XML Web服务都需要一个唯一的命名空间,以便客户端应用程序能够将其与Web上的其他服务区分开来。默认情况下,ASP.Net Web服务使用http://tempuri.org/作为此目的的命名空间。虽然这适用于正在开发中的XML Web服务,但发布的服务应使用独特的永久命名空间。
您的XML Web服务应该由您控制的命名空间进行标识。例如,您可以在命名空间中使用公司的Internet域名作为其中的一部分。尽管许多命名空间看起来像URL,但它们不需要指向Web上的实际资源。
假设公司A和B都创建了方法签名相同的服务。为了区分它们,您可以添加命名空间。从客户端的角度来看,这会使它们不同,这意味着您不能在另一个客户端上使用一个wsdl(代理类),反之亦然。
为您的服务使用唯一的命名空间被视为良好的实践。通常是公司名称/域或类似的内容,而不使用默认的tempuri.org
。
命名空间是一种XML概念。假设您有一个关于书籍的XML文档,其中包含一个<title>
元素,并且有一个关于人员的文档,其中包含一个<title>
元素。即使它们具有相同的名称,两个<title>
元素也具有不同的概念意义。如果合并这些文档,您将看不到它们之间的区别。
这就是命名空间的作用。元素的完整名称由命名空间和元素名称组成,但通常缩写或省略命名空间。
XML允许您为命名空间定义较短的单词。例如,您可以定义b=http://www.books.info/my_books
,然后如果您指的是该命名空间中的标题,则可以使用<b:title>
。
我认为这是System.Web.Services.Protocols