每个xml web服务都需要一个唯一的
按客户机顺序排列的命名空间
应用程序将其与
网络上的其他服务。通过
默认情况下,ASP.NET Web服务使用
http://tempuri.org/为此目的。
而这适用于xml web
正在开发的服务,已发布
服务应该使用唯一的,
永久命名空间。你的XML网络
服务应该由
您控制的命名空间。为了
例如,您可以使用公司的
Internet域名作为
命名空间。尽管许多名称空间
看起来像url,它们不需要指向
网络上的实际资源。
我知道XML名称空间帮助我们唯一地识别由XML模式定义的词汇表。但我不明白为什么web服务还需要使用名称空间进行唯一标识?!
也就是说,为了让客户机能够与服务通信,它需要知道服务的地址、绑定和合同,就这样。那么,为什么使用同一名称空间的两个不同服务会给试图使用这两个服务的客户机带来任何问题呢?
最佳答案
您基本上是正确的:每个服务都有一个名称空间,因此如果您知道wsdl的url(或者如果您有它的副本),名称空间就不是特别有用。但是,名称空间是永久的,而wsdl不是。在查找服务的wsdl位置(例如uddi服务器)的服务中,命名空间是一种了解您真正在谈论您感兴趣的服务的方式。
和往常一样,我们使用名称空间作为抽象层,因此我们不依赖于wsdl(或者更糟的是,端点)的位置来知道我们在谈论哪个服务。
也就是说,名称空间在大多数ws使用中并没有多大区别,因为我们使用wsdl的物理位置来确定服务的位置。你可以用坦布里,但人们会笑,尽管他们真的在开玩笑。