1 2 3 4 5 6 7 8 9 下一页 引言 正如 Java 包通常用来保证 Java 类,使其只能存在于不同层次的命名空间中,这样就可避免类、方法等等之间的命名冲突,XML 命名空间也是为相同的目的而服务于 Web 服务。它限定 XML 元素或属性的名字并帮助它们避免命名冲突。XML 命名空间是基于 URL 应当是全局唯一的基础之上的。然而,解释 URL 的方法及在本机代码的映射对于不同的平台来说是不同的。通常这些不同之处是微妙的,但如果开始时不解决这些的差别,到后来有可能会很难解决。 我将在下面的部分当中讨论几个与命名空间有关的互操作性问题,包括: 使用相关的 URI 引用 使用共享通用域名的唯一的 URI 数组类型中的命名空间问题 在 WSDL 中用相关 URI 引用作为命名空间声明 在命名空间声明中并没有严格禁止相关 URI 引用,但在规范中也没有为它们提供解释。如果 WSDL 文件是从 J2EE Web 服务中生成的,这通常不是一个问题,因为目标命名空间是从 Java 包名字派生而来,并且工具(例如,Java2WSDL)自动将它们与模式联系起来。但是在 Microsoft .net Web 服务实现当中,如果您允许 .NET 框架生成 WSDL 文件,那么目标命名空间就会直接从您在代码中的定义生成。您可能会经常看到命名空间属性被分配到相关 URI 的情况。清单 1 显示了从库存中取得产品列表的 C# .NET Web 服务代码。 清单 1. 有相关命名空间 URI 的库存 Web 服务
(责任编辑:admin) |